Java 活动MQ使用者仅接收替代消息

Java 活动MQ使用者仅接收替代消息,java,jakarta-ee,tomcat,jms,activemq,Java,Jakarta Ee,Tomcat,Jms,Activemq,要求:一个activemq队列应该在一台机器(比如machine1)中运行。应该从machine1和另一台机器(比如machine2)访问该队列。侦听器将只在machine1中运行。因此,我发送给machine1和machine2的所有消息都应该进入machine1中可用的队列,并且应该由同一台机器(machine1)中可用的侦听器接收 问题:我已发送到machine1和machine2的所有消息都已进入队列,但侦听器仅接收替代消息。如果1、3、5,则无法接收消息2、4 观察:假设machine

要求:一个activemq队列应该在一台机器(比如machine1)中运行。应该从machine1和另一台机器(比如machine2)访问该队列。侦听器将只在machine1中运行。因此,我发送给machine1和machine2的所有消息都应该进入machine1中可用的队列,并且应该由同一台机器(machine1)中可用的侦听器接收

问题:我已发送到machine1和machine2的所有消息都已进入队列,但侦听器仅接收替代消息。如果1、3、5,则无法接收消息2、4


观察:假设machine1和machine2中有侦听器,它正在正确接收,即;机器1中的listenr接收1、3、5。。。。。machine2中的侦听器接收2,4,6……。

ActiveMQ默认使用循环分发。因此,如果如您所解释的,您的队列上有两个使用者(machine1和machine2),machine1将只接收一半的消息。 即使您在machine2上没有处理消息的进程,此主机上的ActiveMQ客户端也可能正在使用它们。
如果您希望这两个客户端可以使用消息,则必须使用主题而不是队列。

我们需要保留数据并处理任何服务器问题。如果我们使用这个主题,如何持久化数据?。我们还必须按顺序阅读信息。因此,只需运行一个使用者(reciver)。@SelvamR如果要为订阅服务器脱机的主题保留和保存消息,请使用持久订阅服务器: