Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue 使用の手引


7.2.7 MCP障害(メッセージ送信時の転送障害)

MCP障害(メッセージ送信時の転送障害)の障害処理について,次の表に示します。

表7‒10 MCP障害(メッセージ送信時の転送障害)の障害処理

障害内容

MQTの障害処理

ユーザの処理

転送キューのメッセージ不正(チャネルの転送サイズオーバ含む)

  1. <16334-E>「メッセージ異常検出」

  2. デッドレターキューがある場合:送信中のメッセージを登録し,送信処理を続行します。

  3. デッドレターキューがない場合(コーラ側):

    (a)送信中のメッセージ※1を転送キューに戻し,コネクションを強制解放してチャネルを終了します。

    (b)チャネル定義のMCP障害再試行の指定によって,チャネル確立を再試行します。

    (c)再試行しないとき※2,または再試行回数を超えたときはチャネルを終了します(チャネル使用不可状態)。

  4. デッドレターキューがない場合(レスポンダ側):送信中のメッセージ※2を転送キューに戻し,コネクションを強制解放してチャネルを終了します(チャネル使用不可状態)。

2.の場合は,メッセージを登録したアプリケーションを起動してください。

3.の(c)または4.の場合は,転送キューから該当するメッセージを取り除き,メッセージを登録したアプリケーションを起動したあと,mqtstachaコマンドを入力してください。

メッセージ取り出し障害

  1. <16333-E>「キューファイル障害発生」

  2. メッセージ※1の送信を中断します。

  3. コネクションを強制解放します。

  4. コーラ側:

    (a)チャネル定義のMCP障害再試行の指定によって,再試行します。

    (b)再試行しない場合※2,または再試行回数を超えた場合はチャネルを終了します(チャネル使用不可状態)。

  5. レスポンダ側:チャネルを終了します(チャネル使用不可状態)。

障害要因を取り除いたあと,4.の(b)の場合は,mqtstachaコマンドを入力してください。

メッセージシーケンス番号不一致

  1. <16343-E>「シーケンス番号不一致」

  2. メッセージの送信を中断します。

  3. 送信中のメッセージ※1は転送キューに戻されます。

  4. コーラ側:

    (a)チャネルを終了します。

    (b)チャネル定義のMCP障害再試行の指定によって,チャネル確立を再試行します。

    (c)再試行しない場合※2,または再試行回数を超えた場合はチャネルを終了します(チャネル使用不可状態)。

  5. レスポンダ側:チャネルを終了し,再度相手システムからのコネクション確立要求を待ちます(チャネル停止状態)。

mqtrstchaコマンドを入力し,番号を一致させてください。4.の(c)の場合は,mqtstachaコマンドを入力してください。

相手デッドレターキューにメッセージが登録された

  1. <16335-W>「デッドレターキューに登録された」

  2. メッセージの送信を続行します。

相手システムのデッドレターキューのメッセージを取り出し,原因を調査してください。

転送キュー重複使用

  1. <16315-E>「キューが他サーバで使用中」

  2. メッセージ※1の送信を中断します。

  3. コネクションを強制解放します。

  4. コーラ側:

    (a)チャネル定義のMCP障害再試行の指定によって,チャネル確立を再試行します。

    (b)再試行しない場合※2,または再試行回数を超えた場合はチャネルを終了します(チャネル使用不可状態)。

  5. レスポンダ側:チャネルを終了します(チャネル使用不可状態)。

自システム内のシステムサーバで該当キューが重複使用されていないか確認し,構成を変更してください。

(凡例)

< >:出力されるメッセージログIDです。メッセージログIDには,先頭にKFCAが付きます。

「 」:メッセージログの内容です。

注※1

バッチ転送によって複数のメッセージを転送していた場合,そのバッチのすべてのメッセージが該当します。

ファーストチャネルが転送する非永続メッセージが,転送キューから取り出されて相手システムに登録される前に,該当するバッチに障害が発生した場合,非永続メッセージは破棄されることがあります。

注※2

クラスタチャネルの場合は,チャネル状態は「チャネル停止」になります。