Apache ActiveMQ 5.5を使用しています。 tcp://0.0.0.0:61616で動作しているブローカー(メインブローカーと呼ぶ)があります。このブローカはストアを行い、リモートブローカにメッセージを転送します。そのために、このブローカーから2つのリモートブローカーへのネットワーク接続があります。リモートブローカの1人がフェールオーバーとしてプライマリとその他のものとして機能するようにします。これは、すべてのブローカーが稼働しているとのメッセージがあるとき、私たちはメッセージ、通常のシナリオではフェールオーバーが成功した後にプライマリリモートブローカに戻る
failover://(tcp://<b>server1</b>:61617,tcp://<b>server2</b>:61617)?randomize=false
をリッスンするために、スプリングDefaultMessageListenerContainerを使用している私たちは
static:(failover://(tcp://<b>server1</b>:61617,tcp://<b>server2</b>:61617)?randomize=false)
を使用しているURIをネットワーク接続していますメインブローカに送信されると、server1に転送され、リスナーによって消費されます。
server1でブローカを停止すると、フェイルオーバーが正常に行われ、メッセージはserver2に転送され、リスナーによって正常に消費されます。問題は、server1をバックアップし、メッセージがメインブローカーによってserver2に転送され続ける場合です。私たちの要件は、server1が起動して実行されると、メインブローカがメッセージをserver1に転送し始め、リスナーがserver1に接続してメッセージを消費する必要があるということです。一度にservers1またはserver2のうちの1つだけをアクティブにしたいので、randomizeをtrueに変更することはできません。
可能かどうか教えてください。