2015-05-12 34 views
0

以下是我的ActiveMQ設置:ActiveMQ消費者連接不同於生產商

我有兩個配置了故障轉移的AMQ代理。 我有40個生產者,但只對消費者。

現在的問題: 有時一個生產者失去了與主代理的連接。故障轉移反應,生產者獲得一個新的連接到獲取消息的從站。到現在爲止還挺好。但消費者沒有問題,他仍然消耗主人的消息。他不知道,奴隸也有一些信息。

我該如何解決這個問題,失去那些發送給奴隸的消息?

在此先感謝

+0

你使用的是什麼版本的ActiveMQ?在主動開發中不再推薦或支持主/從故障切換。 –

+0

我使用版本5.10.0。我使用lok的故障轉移 - > failover:(tcp:// host1:61616,tcp:// host2:61616)?randomize = false – piet

+2

我建議你配置一個[broker網絡](http:// activemq。 apache.org/networks-of-brokers.html)。這樣,您的經紀人也將被連接起來,而且您的生產者和消費者所連接的代理商也不再重要 - 消息將通過網絡傳播。 –

回答

1

我建議您配置一個經紀人網絡。這樣,您的經紀人也將被連接起來,而且您的生產者和消費者所連接的代理商也不再重要 - 消息將通過網絡傳播。

+0

因此,我配置了一個由兩個經紀人組成的小型網絡作爲雙工連接。它現在似乎工作得很好。再次出現了一個問題:在經紀人A的網絡控制檯中,持有與經紀人B的雙面連接,我可以看到傳入的消息,所以很好。在經紀人B的Web控制檯中,我看不到任何傳入消息。在連接總覽中,顯示與出站代理A的連接。但是,如果所有消息都應該在網絡中傳播,那麼消息必須在代理B的控制檯中顯示,不是嗎? – piet

+0

控制檯爲經紀人A和B分別顯示多少個生產者?如果您使用原始文章中定義的故障轉移URL,則它們都應連接到A,因此B上將不會有任何消息。只有當A消失後,它們纔會重新連接並開始使用B. –