以下のシナリオで何が起こるかわかりません。誰かが説明してくれれば非常に助かります。
プロデューサ (P) は、メッセージ M1、M2、M3、M4、M5、M6、M7 を送信します。時刻 T1 から T7 に送信されると仮定します。
ActiveMQ が JMS プロバイダー (AMQ) として使用されていると仮定します。
メッセージ コンシューマ (L) は、トピックにバインドされたリスナーになります。トピック名: jmsTopic
シナリオ 1 :
AMQ は実行中ですが、L は AMQ の jmsTopic に接続されていません。P は M1 から M7 を jmsTopic に送信します。L が時間 T7 よりも大きい時間 T8 で jmsTopic に接続されている場合、L はメッセージ M1 から M7 を受信するか、または時間 T8 以降にトピックに送信されたメッセージのみを受信します。
シナリオ 2: AMQ が実行され、L が接続されて jmsTopic をリッスンし、P が M1 を M4 に送信します。L は M1 から M4 を受信します。その間、L は M1 から M4 を処理し、P は M5 を M7 に送信しますが、L は M4 の処理中にクラッシュします。L が再び jmsTopic に接続した場合、M5 から M7 を受信しますか、それとも L が jmsTopic に接続した後に送信されたメッセージのみが L によって受信されます。
シナリオ 3: AMQ が実行され、L が接続されて jmsTopic をリッスンし、P が M1 を M7 に送信します。ただし、AMQ はクラッシュします。は AMQ ステータスを認識しており、AMQ が起動して実行されると再接続します。