2 つ以上のサーバーがリッスンするキューまたはトピックにメッセージを送信できるセットアップが必要です。
コンシューマーは、これら 2 つのサーバーのいずれかにアクセスする特定のクライアントであり、クライアントがどちらのサーバーからチェックするかは事前にわかりません。メッセージには、正しいクライアントに関連付けられる ID が含まれます。
これらのサーバーにアクセスするさまざまなクライアントによって消費されるのを待っている複数のメッセージがいつでも存在する可能性があります。
どうすればこれを達成できますか? キュー、トピック?ポイントツーポイントまたはパブリッシュ サブスクライブ? このトリックを行う正確なセットアップは何ですか?
このシナリオを別の方法で見てみましょう。コミュニティ メール ボックスがある複数の町を想像してみてください。これらの町の住民は特定の住所を持っておらず、常に町の間を移動しています。誰かが別の人にメッセージを送信する必要があるため、その人がメールを作成すると、そのメールがコピーされて各町のメールボックスにルーティングされ、受信を待ちます。適切な人が自分宛てのメッセージを確認して見つけると、そのメッセージは他のすべてのメールボックスで消費および破棄され、同じメッセージが再度読まれることはありません。
したがって、JMS キューまたはトピックはこのメールボックスであり、これらのサーバー (具体的にはクラスター環境の Web サーバー) に接続するクライアントは人です。異なる人に宛てられた複数のメッセージが同時に存在する可能性があります。
JMSを使用してこれを行う最良の方法は何ですか?