JMSについて2つの質問があります。
1)キューがダウンしていて、発行者がメッセージを送信しようとするとどうなりますか。どのようなエラーが発生しますか?
2)メッセージは利用可能であるが、消費者は利用できない場合はどうなりますか?メッセージは消費されるまで無期限に待機しますか?
JMSについて2つの質問があります。
1)キューがダウンしていて、発行者がメッセージを送信しようとするとどうなりますか。どのようなエラーが発生しますか?
2)メッセージは利用可能であるが、消費者は利用できない場合はどうなりますか?メッセージは消費されるまで無期限に待機しますか?
1) 通常、コード (Java を想定) が JMS ブローカーに接続しようとしているときに、何らかの形式の (実行時) 接続例外が発生することが予想されます。正確な例外は、使用するフレームワーク (Spring など) に大きく依存します。このシナリオで何をすべきかを決定する必要があります (つまり、クライアントに例外をスローします)。クライアントがメッセージが発行される実際の瞬間に関心がない場合、1 つのオプションとして、発行するメッセージをキャッシュし、一定の時間間隔で試行することができます。
2)何もありません。メッセージは、何かが削除されるまでキューに留まります。これは、リッスンとプロセスが成功した後のコンシューマーである可能性があります。または、ブローカーである可能性があります (消費されない場合、メッセージがその時間後に消えるように公開時に設定できる、time-to-live と呼ばれる JMS プロパティがあると思います)。 )。