次の問題があります: リモート ブローカー (データセンター内) に転送するローカル ActiveMQ ブローカーを使用するサイトがいくつかあります。この接続はしばしば不安定で、月に数回、一度に数分から数時間ダウンします。
したがって、現時点でリモート ブローカにアクセスできない場合、メッセージはローカル ブローカで待機する必要があります。
次の ActiveMQ 構成があります。
<networkConnectors>
<networkConnector uri="static://(tcp://my-remote-broker:61616)"
name="myremotebroker" dynamicOnly="false"
conduitSubscriptions="true"
decreaseNetworkConsumerPriority="false">
<!-- Exclude all destinations by default -->
<excludedDestinations>
<queue physicalName=">" />
<topic physicalName=">" />
</excludedDestinations>
<!-- Only forward these to our connection -->
<staticallyIncludedDestinations>
<topic physicalName="MySpecialTopic"/>
</staticallyIncludedDestinations>
</networkConnector>
</networkConnectors>
これにより、ローカル ブローカー (トピック MySpecialTopic) からリモート ブローカーにメッセージが転送されます。これは、接続が安定している場合に機能します。
ただし、ローカルブローカーがリモートブローカーとの接続を失うように、インターネット接続を一時的に無効にしようとしました。その時点で、新しいメッセージを送信しました。このメッセージはローカル ブローカーのキューに入れられましたが、ローカル ブローカーが再接続した後でも、リモート ブローカーには届きませんでした。
ActiveMQ 構成に欠けているものはありますか?
ありがとう!