デッドレターキューとバックアウトキューの違いは何ですか?
WebSphereMQの用語およびアプリケーションサーバーの用語で。
すべてのJ2EE/JEEアプリサーバーにはMQプロバイダーがあり、Dead Letter Queueの構成もありますか、それともWebSphere MQに固有のものですか?
バックアウトキューについての私の理解は次のとおりです。
MQは、指定された回数の試行後にメッセージを宛先に配信できない場合、メッセージをバックアウトキューに移動します。
DeadLetterキューについて明確に理解していません。
どんな援助にも感謝します。
デッドレターキューは、キューマネージャーに到着したメッセージを格納するためにMQSeries(最後にMQを使用したとき)で常に使用されていましたが、キューは存在しませんでした。
たとえば、メッセージがキューマネージャへのアドレスである場合[〜#〜] x [〜#〜]およびキュー[〜#〜] y [〜#〜]、マネージャーのチャネルを介して到着します[〜#〜] x [〜#〜]。
受信者チャネルがキューがないことを検出した場合[〜#〜] y [〜#〜]、それはデッドレターキューに配置されます。
一方、バックアウトキューは、(少なくともMQに関しては)アプリケーションレベルのものです。 MQクライアントが何らかの理由でメッセージを処理できない場合、後で処理するためにメッセージをバックアウトできます(元のキューに戻ります)。
バックアウトが何度も行われると(しきい値を構成できます)、バックアウトキューに移動されます。
答えてくれてありがとう。また、アプリケーションが何らかの理由でメッセージをバックアウトキュー(BOQ)に移動できない場合、キューをデッドレターキュー(DLQ)に移動しようとすることもわかりました。
私たちのアプリケーションでは、それが起こりました。バックアウトキューにいくつかのアクセス許可の問題があったため、メッセージをBOQに書き込むことができず、最終的にデッドレターキューに入れられました。
Dead Letter Queueは、バックアウトと同じように動作します。私はDeadLetter Queueを、ErrorキューまたはBackoutキューで回復できず、収集する必要のある最後の非ビジネス固有のデータがあるメッセージの火葬場として扱います。情報が取得されると、メッセージは永久に保存されます。バックアウトは、完全に再処理するために回復する必要があるか、決定のためにアプリケーション領域に送り返す必要がある可能性があるデータのメッセージを分析するのに適しています。
デッドレターキューはローカルキューでもあります。あるキューから別のキューにメッセージを配置しようとして、メッセージが正しい宛先に送信されなかった場合、この時点で、メッセージはデッドレターキューに移動します。