バックアウト キューが QB で、バックアウトしきい値が 3 のキュー Q1 があります。有害メッセージを処理するさまざまな可能性に取り組んでいるため、キューからメッセージを読み取り、キューをポーリングし続けるたびに、アプリケーションが例外をスローするようにしました。Q1 の深さは 15、QB は 5、DLQ は 5 です。最初のシナリオでは、Q1 に 7 つのメッセージを入力し、アプリケーションを起動しました。予想どおり、各メッセージはキューにロールバックされ、バックアウト カウントが 3 のときにバックアウト キューに移動されました。魅力的に動作します。
バックアウト キューと DLQ の両方がいっぱいになったときに何が起こるかを知る必要がある 2 番目のシナリオでは、12 のメッセージを入力してアプリケーションを開始しました。次に、DLQ is full をスローしますが、これは明らかです。
しかし、MQ エクスプローラーで観察できるのは、12 個のメッセージが Q1、QB、および DLQ の間で無限にループし続けることです。私自身がアプリケーションを停止すると、アプリケーションを開始する前と同様に、すべてのメッセージが Q1 で終了します。
完全に混乱し、グーグルで検索しましたが、これに似たものは何も見つかりませんでした。
私が間違っていることや、このパズルに欠けているピースを誰か指摘できますか?
前もって感謝します。