Java 多台计算机正在侦听同一activemq队列
Java 多台计算机正在侦听同一activemq队列,java,jms,activemq,spring-jms,Java,Jms,Activemq,Spring Jms,我已经配置了两台机器,每台机器有10个使用者,它们监听第三台机器上运行的同一个activemq队列。但是,只有一台机器的使用者正在读取队列中的消息,而另一台机器处于空闲状态 我预计activemq web控制台上会有20个使用者,但只能看到10个。 有什么问题吗?应用程序端或activemq端有任何配置更改吗? 我正在使用SpringJMS(org.springframework.jms.listener.DefaultMessageListenerContainer)和activemq 5.
我已经配置了两台机器,每台机器有10个使用者,它们监听第三台机器上运行的同一个activemq队列。但是,只有一台机器的使用者正在读取队列中的消息,而另一台机器处于空闲状态
我预计activemq web控制台上会有20个使用者,但只能看到10个。
有什么问题吗?应用程序端或activemq端有任何配置更改吗?
我正在使用SpringJMS(org.springframework.jms.listener.DefaultMessageListenerContainer)和activemq 5.8.0
更新:
主题不是我的选择。我只希望一个消费者阅读一条信息。
我有以下情况: machine1=activemq
machine2=消费者1到消费者10
machine3=消费者11到消费者20
我观察到的是,只有来自machine2的消费者才会从队列中弹出消息
我想要的是,machine2和machine3的消费者都应该阅读消息
提前感谢。看起来您需要的是消息主题,而不是消息队列。主要区别在于队列类似于电子邮件帐户。一旦你阅读了信息,它就会消失。这就是为什么看起来只有一个客户端处于活动状态,因为它们可能共享同一队列 另一方面,消息主题将在消息发送到主题后立即向所有连接的客户端发送消息。
- 您能否关闭机器2上的使用者,并查看这些消息是否被机器3上的使用者使用
- 您能否提供如何从machine3连接的配置