Hitachi

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


7.2.17 通信障害時のメッセージ送受信の流れ

ここでは,次の場合のメッセージの送受信で通信障害が発生したときの流れを説明します。

メッセージの送受信時の通信障害について次の図に示します。

図7‒15 メッセージの送受信時の通信障害

[図データ]

図中の1.〜4.の通信障害について次に説明します。

  1. チャネル開始要求時に通信障害が発生した場合

    この場合,チャネルの確立に失敗します。メッセージはそのまま送信側に残ります。

  2. チャネル開始応答時に通信障害が発生した場合

    この場合,チャネルの確立に失敗します。メッセージはそのまま送信側に残ります。

  3. 送達確認要求ありのメッセージ送信時に通信障害が発生した場合

    この場合の送信側MCA,受信側MCAの処理を次に示します。

    分類

    処理内容

    送信側MCA

    障害回復後は,LUWIDとメッセージシーケンス番号を基に,送達確認要求を送信してから,転送キュー内のメッセージを再送します。

    受信側MCA

    送信側と受信側のLUWIDとメッセージシーケンス番号が一致しないため,バッチ内で受信したメッセージは無効化(削除)されます。

    また,受信側のLUWIDとメッセージシーケンス番号は,前回バッチ転送完了時の状態に戻され,送信側からメッセージが再送されます。

    なお,メッセージシーケンス番号を一致させる運用は必要ありません。

    注※

    LUWIDは,MCPで規定された1回のメッセージ転送単位(バッチ単位)を管理するためのIDです。

    なお,コネクション障害,またはオンラインシステムの停止などでメッセージの送信が中断された場合の,転送キュー内のメッセージの処理については,「2.4.4(3)(a) 送信側MCAの場合」を参照してください。

  4. 送達確認応答時に通信障害が発生した場合

    この場合の送信側MCA,受信側MCAの処理を次に示します。

    分類

    処理内容

    送信側MCA

    障害回復後は,LUWIDとメッセージシーケンス番号を基に,送達確認要求を送信します。

    受信側MCA

    送信側と受信側のLUWIDとメッセージシーケンス番号が一致するため,送信側では送信済みのメッセージが削除されます。

    送信側から送信される次のメッセージを受信します。

    なお,メッセージは有効化されているので,更新した受信側のメッセージシーケンス番号は戻しません。