Activemq 活动MQ VirtualTopic—消息保持排队状态,即使发送到所有已定义/链接的队列

Activemq 活动MQ VirtualTopic—消息保持排队状态,即使发送到所有已定义/链接的队列,activemq,Activemq,使用活动MQ 5.15.4并遵循来自的文档,当发送到VirtualTopic时,消息将被发送到所有连接的队列,但它们永远不会从发送它们的虚拟主题中退出队列 我们需要手动清理虚拟主题吗 主题中保留消息的原因是什么?是否可以稍后再发送?但是,当一个新队列链接到虚拟主题时,所有已排队的消息都不会发送给它 尚未对此进行测试,但连接队列中的消息是否与虚拟主题中发送的消息的持久性标志有关 如果虚拟主题本身没有使用者,则保留的唯一消息是该使用者在虚拟主题使用者的订阅队列中的消息。例如,如果您发送到Virtua

使用活动MQ 5.15.4并遵循来自的文档,当发送到VirtualTopic时,消息将被发送到所有连接的队列,但它们永远不会从发送它们的虚拟主题中退出队列

我们需要手动清理虚拟主题吗

主题中保留消息的原因是什么?是否可以稍后再发送?但是,当一个新队列链接到虚拟主题时,所有已排队的消息都不会发送给它


尚未对此进行测试,但连接队列中的消息是否与虚拟主题中发送的消息的持久性标志有关

如果虚拟主题本身没有使用者,则保留的唯一消息是该使用者在虚拟主题使用者的订阅队列中的消息。例如,如果您发送到VirtualTopic.FOO,而该主题或命名的虚拟主题使用者队列(如consumer.A.VirtualTopic.FOO)上没有订阅,则消息将被完全丢弃。如果在某个点上消费者队列中有某个消费者,则发送到主题的消息将转发到队列,但主题本身不保留任何内容

如果虚拟主题本身有消费者,他们将收到发送给他们的消息,或为他们保留消息,直到配置的挂起消息限制等


使用者队列将遵守发送它们的MessageProducer指定的持久值

谢谢蒂姆!我的担心是基于这样一个事实,即活动mq ui没有显示出队列的消息,但进入队列的消息不断增加,但是消息被发送到相关队列,如果有消费者连接,则在那里出队列。因此,根据您的评论,如果没有为主题本身定义使用者,则消息将永远不会停留在虚拟主题中,即使出列停留时间为零且入列持续增加?应该是这样的,主题入列计数并不是一个可靠的指标,因为主题可能有许多订阅者,所有订阅者都可以获得一份副本,如果不存在,则有效地丢弃消息。