MQeInput ノードは、 持続メッセージとトランザクション・メッセージのエラーを処理する際に独特のアクションを実行します。 (非トランザクション・メッセージで検出されるエラーは、 入力ノードにあるエラーの管理で説明されているとおりに処理されます。)
このアクションについては、以下の表で要約されています。
エラー・イベント | failure ターミナルに接続している | failure ターミナルに接続していない | catch ターミナルに接続している | catch ターミナルに接続していない |
---|---|---|---|---|
ノードが内部エラーを検出 | fail フローがエラーを処理 | ノードが再試行 | 適用不可 | 適用不可 |
ノードがメッセージを out ターミナルに伝搬すると、out フローで例外が発生する | 適用不可 | 適用不可 | ノードが再試行し、catch ターミナルに伝搬する | ノードが再試行 |
ノードがメッセージを catch ターミナルに伝搬すると、catch フローで例外が発生する | fail フローがエラーを処理 | ノードが再試行 | 適用不可 | 適用不可 |
ノードがメッセージを failure ターミナルに伝搬すると、fail フローで例外が発生する | 適用不可 | 適用不可 | ノードがメッセージを代替キューに書き込む | ノードがメッセージを代替キューに書き込む |
メッセージが入力キューへロールバックされると、ノードは再試行処理を試みます。 ノードはメッセージが以前にバックアウトされているかどうかを調べ、バックアウトされている場合には、バックアウト・カウントがバックアウトしきい値に達しているか (等しいか) どうかを調べます。 各メッセージのバックアウト・カウントは、MQMD の WebSphere MQ によって保守されます。
キューの作成時に、バックアウトしきい値属性 BOTHRESH を指定 (または、 デフォルトで 0 になるように) します。 デフォルト値 0 を受け入れると、ノードはこの値を 1 に増やします。 また、現行値を検出できなかった場合にもこの値を 1 に設定します。 これは、メッセージが以前にバックアウトされていない場合、それが少なくとも 1 回バックアウトおよび再試行されることを意味します。
メッセージは廃棄できないため、メッセージ・フローはメッセージのバックアウトを試行し続けます。 エラー状態は、ローカル・エラー・ログにエラーを書き込むことによって記録されます。 2 回目以降にこのエラーが示されるときには、 入力ブリッジ・キューのメッセージにある BackoutCount の値が継続的に増えていきます。
キューが存在しないためにこの状態が発生している場合、上に挙げられているいずれかのバックアウト・キューを定義することによって解決できます。 何がメッセージの処理を妨げているのかがはっきりしている場合は、 一時的に BOTHRESH 属性の値を増やすことができます。このようにすることによって、メッセージには強制的に通常の処理が実行されます。
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac00413_ |