首页 文章

多台计算机侦听同一个activemq队列

提问于
浏览
2

我已经配置了两台机器,每台机器有10个消费者,它们监听在第三台机器上运行的同一个activemq队列 . 但是只有一台机器的消费者正在从队列中读取消息而另一台正在闲置

我期待在activemq web控制台上有20个消费者,但只能看到10个 .
可能是什么问题呢?应用程序端或activemq端的任何配置更改?

我使用的是spring-jms(org.springframework.jms.listener.DefaultMessageListenerContainer)和activemq 5.8.0

Update :
主题不适合我 . 我想只有一个消费者阅读一条消息 .
我有以下场景:machine1 = activemq
machine2 = consumer1到consumer10
machine3 = consumer11到consumer20

我观察到的只是来自machine2的消费者正在从队列中弹出消息
我想要的是,来自machine2和machine3的消费者应该阅读消息 .

提前致谢 .

2 回答

  • -1

    看起来您需要的是消息主题,而不是消息队列 . 主要区别在于队列就像电子邮件帐户 . 一旦你阅读了这条消息,它就会消失 . 这就是为什么看起来只有一个客户端处于活动状态,因为它们可能共享同一个队列 .

    另一方面,消息主题将在消息发送到主题后立即将消息传递到所有连接的客户端 .

  • 1
    • 你可以关闭机器2上的消费者,看看消息是否被机器3上的消费者消费了?

    • 您能提供有关如何从machine3连接的配置吗?

相关问题