多くの異なるソース (実際にはキュー/トピック) からのメッセージを単一のキュー/トピックに集約し、それを消費するための最良の方法は何ですか? weblogic を使用して JMS のさまざまなトピックからメッセージを受信するアプリケーションを設計しようとしています。
質問する
369 次
2 に答える
1
独自の「アグリゲーター」をスタンドアロン Java アプリケーションとして作成できます。
- 各キュー/トピックには、独自のスレッドにリーダーがあります。
各リーダーは、受信したメッセージを「集約キュー」で再度送信します。
「集約キュー」でリッスンする別のスレッドを用意します。
java.util.concurrent.ArrayBlockingQueue
バリエーションとして、JVM キュー ( など) を「集約キュー」として使用できます。これは高速で、別の MQ キューを必要とせず、ネットワーク帯域幅も必要ありませんが、永続的ではありません。
別のアイデアは、着信キュー/トピックごとに「メッセージ駆動型 Bean (MDB)」を使用することです。
- 繰り返しますが、これらの各 MDB はメッセージを読み取り、それを「集約キュー」に再送信します。
- 「集約キュー」でリッスンする別の MDB を用意します。
于 2013-07-11T16:40:48.680 に答える