ActiveMQに2つのアクティブなブローカーが必要です。
最初のものが利用できないときに行動する一次および二番目であるもの。
activemq.xmlファイルでこのブローカーを定義するにはどうすればよいですか?
defualtをコピーして貼り付け、ポートと名前を変更するだけでブローカーを追加しようとしましたが、activemqを実行しようとすると例外がスローされます。
さらに、どのブローカーがキューの着信送信メッセージをアクティブに管理しているかを知るにはどうすればよいですか?
ありがとう。
これは、JMSクライアントでfailover://プロトコルを使用して実装できます。フェイルオーバープロトコルの構成方法の詳細については、フェイルオーバートランスポートリファレンスページを参照してください。
これは、ActiveMQ 3.xではreliable://プロトコルであり、3.x以降のActiveMQバージョンではfailover://でした。
ここに良い記事があります
マスターブローカーが利用できない場合、クライアントメッセージでフェイルオーバープロトコルを使用すると、スレーブブローカーにルーティングされますが、randomize=falseであることを確認してください。
例:フェイルオーバー:(tcp:// master:61616、tcp:// slave:61616)?randomize = false
マスターブローカーに障害が発生し、メッセージがマスターブローカーのデータストアで待機している場合、それらの待機中のメッセージを消費するには、スレーブブローカーとマスターブローカーを同じJDBCデータストアに構成します。
マスターブローカーとスレーブブローカーを同じJDBCデータストアに構成することにより、マスターブローカーはJDBCデータストアをロックし、マスターブローカーに障害が発生した場合にのみスレーブブローカーがアクティブになり、データストアのロックが解除されます。
上記の構成では、マスターブローカーがスレーブブローカーの前に開始されていることを確認してください。