我們正在使用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一次處於活動狀態。
請讓我知道這是否可能以及如何。