我已经配置了两台机器,每台机器有10个消费者,它们监听在第三台机器上运行的同一个activemq队列。但是只有一台机器的消费者正在从队列中读取消息而另一台机器正处于闲置状态。
我期待在activemq web控制台上有20个消费者,但只能看到10个
可能是什么问题呢?应用程序端或activemq端的任何配置更改?
我使用的是spring-jms(org.springframework.jms.listener.DefaultMessageListenerContainer)和activemq 5.8.0
更新:
主题不适合我。我想只有一个消费者阅读一条消息
我有以下场景:
machine1 = activemq
machine2 = consumer1到consumer10
machine3 = consumer11 to consumer20
我观察到的只有来自machine2的消费者正在从队列中弹出消息 我想要的是,来自machine2和machine3的消费者应该阅读消息。
提前谢谢。
答案 0 :(得分:1)
看起来您需要的是消息主题,而不是消息队列。主要区别在于队列就像电子邮件帐户。一旦你阅读了这条消息,它就会消失。这就是为什么看起来只有一个客户端处于活动状态,因为它们可能共享同一个队列。
另一方面,消息主题会在消息发送到主题后立即向所有连接的客户端发送消息。
答案 1 :(得分:-1)
您是否可以关闭计算机2上的消费者并查看消息是否被机器3上的消费者使用?
您能否提供有关如何从machine3进行连接的配置?