キューには属性 BOQNAME と BOQTHRESH があります。これらは、メッセージを再キューイングするバックアウト キューの名前と、メッセージを再キューイングする前のバックアウト数のしきい値に設定する必要があります。
さらに、QMgr はメッセージを指定されたキューに入れることができなければなりません。問題には、キュー名のスペルミス、バックアウト キューがいっぱい、または MDB を実行しているアカウントがバックアウト キューにメッセージを書き込む権限がなかったことが含まれる場合があります。
MDB は、有害なメッセージ ループを検出し、メッセージを再キューイングする場所がない場合、処理を停止します。スレッドは引き続き表示されますが、キューで開いている入力ハンドルが 1 つ以上失われます。この場合、アプリを復活させるには、アプリを再起動する必要があります。
バックアウト先にシステムの DLQ を使用しないでください。DLQ は、宛先キューに解決できない別の QMgr から到着したメッセージを QMgr が配置する場所です。これらにはデッド レター ヘッダーが添付されますが、再キューされた MDB メッセージには添付されません。これにより、DLQ を監視しているオートメーションで問題が発生する可能性があります。したがって、アプリケーションごとに DLQではない例外キューを用意することをお勧めします。
QMgr やチャネルのシャットダウンなどの通常の操作ではバックアウトが発生する可能性があるため、BOQTHRESH は 1 または 2 より大きくする必要があります。私は通常、BOQTHRESH を 5 または 10 に設定しますが、これをもっと高く設定する人を見てきました。再試行に対する許容範囲と、ログ エクステントがいっぱいになるなどの一時的な状態によって通常バックアウトが発生するかどうかによって異なります。