2

ActiveMQ のフェイルオーバー トランスポートは、ブローカー インスタンスの 1 つがダウンした場合にうまく機能します。プロデューサーは、次のブローカー インスタンスに自動的に切り替えます。

ブローカーがメモリ制限 ( systemUsageactivemq.xml のプロパティで設定) に達した場合、同じ動作を期待していました。ただし、この場合、ログに「メモリがいっぱいです」という警告がスローされ始めますがjmsTemplate.convertAndSend、プロデューサーのアプリケーションのメソッドはハングします。

sendFailIfNoSpace="true"systemUsage プロパティのオプションを設定しようとしました。この場合、プロデューサー アプリケーションはorg.springframework.jms.ResourceAllocationException: Usage Manager Store is Full例外をスローし始めたばかりでconvertAndSend、適切なブローカー インスタンスに切り替えませんでした。

誰かが例外や「メモリがいっぱい」の場合にフェイルオーバーする方法をアドバイスできますか?

4

1 に答える 1