ActiveMQ新主题,没有使用者,不';不要丢弃消息

ActiveMQ新主题,没有使用者,不';不要丢弃消息,activemq,durable-subscription,Activemq,Durable Subscription,我正在构建一个软件解决方案,它可以为每一个新类别的内容创建JMS主题。主题是在整合第一轮数据时创建的,必须进行沟通。 对该主题的持久订阅由使用者创建,但仅在类别和第一个数据创建后一段时间。属于该类别的所有数据都作为消息发送给消费者,以便它们也被更新 在创建类别和创建持久订阅之间,丢弃消息会更好。使用者首先对现有数据进行初始同步,然后创建持久订阅并侦听创建/更新消息 一种选择是让使用者在注册第一个持久订阅时创建主题。同时,如果将数据添加到类别中,则products不会发送数据,因此也不会创建主题

我正在构建一个软件解决方案,它可以为每一个新类别的内容创建JMS主题。主题是在整合第一轮数据时创建的,必须进行沟通。 对该主题的持久订阅由使用者创建,但仅在类别和第一个数据创建后一段时间。属于该类别的所有数据都作为消息发送给消费者,以便它们也被更新

在创建类别和创建持久订阅之间,丢弃消息会更好。使用者首先对现有数据进行初始同步,然后创建持久订阅并侦听创建/更新消息

一种选择是让使用者在注册第一个持久订阅时创建主题。同时,如果将数据添加到类别中,则products不会发送数据,因此也不会创建主题

另一种选择是,如果不存在消费者,则丢弃消息。我不是说活跃的消费者,我是说根本没有消费者。你知道这是否可以实施吗?由于该主题没有持久性/非持久性订阅,因此我希望消息会自动丢弃,但我错了

你会选择哪个选项

如果您查看下图,您将看到一个主题,其中从未有4498条消息的订阅者排队。我是否以错误的方式解释了这些信息


如果不存在订阅(无论是否持久),则应丢弃发送到主题的消息。这是预期的行为


web控制台上可见的“Messages Enqueued”(消息排队)度量并不表示您认为它的含义。此指标仅表示自上次重新启动以来发送到主题的消息总数。它没有指出该主题的订阅中保留了多少邮件(如果有的话)。

考虑到代理确实会在没有消费者和现有持久订阅的情况下放弃,我想说您的测试可能是错误的,但如果您在链接中打开imagine,我们无法从提供的信息判断,您将看到一个主题,其中从未有4498条消息的订阅者排队。我是否以错误的方式解释了这些信息?是否邮件没有设置过期值?我将传递模式设置为非持久,过期值设置为60.000。ActiveMQ控制台中排队的消息数量不断增加。排队计数对于主题来说毫无意义,因为它不会告诉您消息是否被丢弃,只是消息在经过彻底测试后到达,我得出了相同的结论。谢谢你的解释。