2012-03-20 18 views
0

WASでは、jmsキューXを作成しました。別のキューYも作成しました。MQでは、YがXのバックアウトキューであると指定しています。
最大再試行回数は3回であり、バックアウトしきい値は2です。つまり、メッセージがXで消費されない場合は2回試行した後、キューマネージャはYにメッセージを書き込みます。この場合、最大再試行回数(3)は決してそれは決して3度目の試みではないからだ。そして、Xのリスナーは決して落ちません。 私の理解は正しいですか?MQ最大再試行回数とバックアウトしきい値

答えて

4

jmsインターフェイスについてはわかりませんが、ネイティブWMQでは、キューマネージャは自動的にメッセージをバックアウトキューに再キューしません。 backout_countを照会し、それをbackout_thresholdと比較して、メッセージをbackout_queueに入れるのはアプリケーションの責任です。

あなたは、 "WebSphere Application Serverが毒のメッセージを処理する方法" をお読みください - 読むことが重要。またhttp://www.ibm.com/developerworks/websphere/library/techarticles/0405_titheridge/0405_titheridge.html

の "ベストプラクティス:WebSphere MQのキューの共有とアプリケーション・プログラム" を、発行するためにスクロール6からhttp://www.ibm.com/developerworks/websphere/library/techarticles/0512_elkins/0512_elkins.html

0

MQ JMS実装では、ターゲットキューに設定されているバックアウトしきい値に達すると、メッセージをバックアウトキューに移動する処理を行います。バックアウト・キューが指定されていない場合、MQ JMSはメッセージをデッド・レター・キューに入れようとします。

私が知る限り、MQ JMSには再試行の概念はありません。 WAS/MDBに関連するものかもしれません。

0

アプリケーションがメッセージをキューから取り出すキューを再キューに入れるのであれば、バックアウトのしきい値がキューのプロパティで定義されているのはなぜですか?アプリケーションでこのしきい値プロパティを定義しないでください。

非常に混乱します。

関連する問題