2017-09-15 10 views
1

activemqのリスナーコードが複数のブローカーからのメッセージを聞くべき解決策を見つけるのが難しいです。例として、4つのサーバー(A、B、C、D)でホストされているユーザーにメッセージを提供する4つのブローカー(1,2,3,4)があります。 consumerAは、broker1,2,3 &からの応答メッセージをリッスンする必要があります。4.メッセージが見つかると、consumerAはメッセージを選択して処理する必要があります。消費者Aが何らかの理由でダウンした場合、消費者Bは4人のブローカーすべてに耳を傾けるべきである。activemqで複数のブローカーを聴く方法

以下の方法でフェールオーバートランスポートを設定しても、上記の設計を達成するのには役立ちません。上記のURIの構成私のリスナーのコードで

activemq.broker.url=failover:(tcp://localhost:61716,tcp://localhost:61717,tcp://localhost:61718,tcp://localhost:61719)?randomize=false,timeout=5000,maxReconnectAttempts=3 

が唯一のポート61716上で仲介するために待機し、メッセージが別のブローカーで使用可能な場合は、ポート61717上の言うその選んで、それを処理することはできません。どんな助けでも本当に感謝します。

P.S:複数のブローカーを同時に聞く消費者の例はありますか?

答えて

0

複数のブローカーから聞いている1人の消費者のためのactivemqからの解決策を見つけることができないため、それぞれ特定のブローカーURLを指す複数のBeanを作成するソリューションを実装しました。このようにして、同じサーバーから、同じリスナー構成ファイルから4つのURLを参照しています。

関連する問題