Active MQ 虚拟主题 - 即使消息被分派到所有已定义/链接的队列,消息也会保持排队状态



使用 Active MQ 5.15.4 并按照 http://activemq.apache.org/virtual-destinations.html 中的文档进行操作,当发送到 VirtualTopic 时,消息会发送到所有连接的队列,但它们永远不会从发送它们的虚拟主题中取消排队。

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

将消息保留在主题中的原因是什么?是以后可以重新发送的吗?但是,当新队列链接到虚拟主题时,所有现有的排队消息都不会发送到该队列。

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

如果虚拟主题本身没有使用者,则保留的唯一消息是放置在虚拟主题使用者订阅队列上的消息。 例如,如果您发送到 VirtualTopic.FOO 并且没有关于该主题或命名的虚拟主题消费者队列(如 Consumer.A.VirtualTopic.FOO(的订阅,则该消息将被完全丢弃。 如果在某个时候消费者队列中有一些使用者,那么发送到主题的消息将被转发到队列,但主题本身不保留任何内容。

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

使用者队列将遵循发送它们的消息生产者指定的持久值。

最新更新