ActiveMQ 点对点消费者集群

ActiveMQ 点对点消费者集群

ActiveMQ点对点中,消费者A不确认会导致消费者B获取不到消息吗?
在这里插入图片描述
特地测试了一下,如下图所示:
在这里插入图片描述两个活跃的消费者,其中消费者A设置为手动签收,非事务connection.createSession(Boolean.FALSE,Session.CLIENT_ACKNOWLEDGE);
消费者B设置的是自动签收,非事务
connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

消息方式为异步,即采用监听方式,通过onMessage方法获取消息 messageConsumer.setMessageListener(new QueueListener());

由于消费者A在消息处理的时发生错误,所以没有message.acknowledge();方法,
于是出现了上图所示的6条消息,出列了4条的情况。

在这种情况下,为什么消费者B不能获取到剩余两条消息呢?

发现消费者A服务停止或者关闭,消费者B就可以读取这两条消息,除此之外还有什么方式可以让消费者B直接获取到另外的两条消息呢?

欢迎在评论区帮忙解惑,感谢!