我们正在使用Apache ActiveMQ 5.5。 我们有一个在tcp://0.0.0.0:61616运行的代理(让我们称之为Main Broker)。该代理会向远程代理发送存储和转发消息。为此,我们有一个从此代理到两个远程代理的网络连接。我们希望其中一个远程代理作为主服务器,而其他服务器则作为故障切换服务器。这是网络连接URI,我们使用成功故障转移后切换回主要远程代理
static:(failover://(tcp://<b>server1</b>:61617,tcp://<b>server2</b>:61617)?randomize=false)
我们正在使用弹簧使用DefaultMessageListenerContainer监听消息
failover://(tcp://<b>server1</b>:61617,tcp://<b>server2</b>:61617)?randomize=false
在正常情况下,当所有的券商和运行,一条消息发送给Main Broker,它将被转发到server1并被侦听器使用。
如果我们停止server1上的代理,则故障转移正在成功进行,并且消息正在转发到server2并被侦听器成功使用。问题是当我们将server1备份时,消息继续由主代理转发到server2。我们的要求是,一旦server1启动并运行,Main代理应该开始将消息转发到server1,并且监听器应该连接回server1并使用消息。我们不能将randomize更改为true,因为我们只希望其中一个server1或server2一次处于活动状态。
请让我知道这是否可能以及如何。