首页 > 解决方案 > 如果现有消费者死亡,消息分组如何影响消息的分发?

问题描述

下图描述了我使用消息组和基于 Spring 的 JMS 消费者的基本用例。

请注意,这里的并发是指如下所示的配置集:

defaultJmsListenerContainerFactory.setConcurrency("3-10");

带有任意地址的 Msg-Grp

如果 G1 监听器宕机,组内剩余的消息会自动重新分配给另一个监听器吗?

标签: activemq-artemis

解决方案


是的,如果接收分组消息的消费者断开连接(出于任何原因),则将选择另一个消费者从该组接收消息。这在文档中有详细说明:

消息组中的消息总是被同一个消费者消费,即使队列上有很多消费者。它们将具有相同组 id 的所有消息固定到同一消费者。如果该消费者关闭,则选择另一个消费者并将接收具有相同组 ID 的所有消息。(强调我的)


推荐阅读