5.2 TP1/Message Queueの終了

TP1/Message Queueの終了モードには,次に示す四つがあります。

  1. 正常終了
    OpenTP1システムが正常終了した場合の終了モードです。
  2. 計画停止A
    OpenTP1システムが計画停止Aで終了した場合の終了モードです。
  3. 計画停止B
    OpenTP1システムが計画停止Bで終了した場合の終了モードです。
  4. 強制停止
    OpenTP1システムが強制停止した場合の終了モードです。

正常終了,計画停止A,および計画停止Bの場合,メッセージ転送の終了時間の監視ができます。終了処理監視は,TCP定義のmqttcp,mqttcpcs,およびmqttcpcr定義コマンドで指定します。終了処理監視でタイムアウトが発生した場合,メッセージの送受信は中断されます。このタイマを指定しない場合,受信側MCAが動作しているシステムでは,送信側MCAからアプリケーションが登録したメッセージまたはハートビートメッセージを受信するか,送信側MCAを終了しないかぎり,チャネルを終了しませんので注意してください。ハートビートメッセージについては,「2.5.7 ハートビート機能」を参照してください。

終了モード別のメッセージの取り扱いについて,次の表に示します。

表5-1 終了モード別のメッセージの取り扱い

終了モードメッセージの取り扱い
送信時受信時
正常終了
計画停止A
計画停止B
送信中のメッセージは送信を完了します。
転送キューのメッセージはキューに残ります。
受信中のメッセージは受信を完了します。
完了したメッセージに対するトリガメッセージは発生しません。
強制停止メッセージの送信処理を中断します。送信中のメッセージはキューに残り,次回のチャネル開始要求で,再度メッセージの先頭から送信します。メッセージの受信処理を中断します。受信中のメッセージは相手システムに残り,次回のチャネル開始要求で,再度メッセージの先頭から受信します。

また,開始と終了のモードによって,キューの属性およびメッセージの内容を引き継ぐかどうかが異なります。開始モード,終了モード別のキューおよびメッセージの取り扱いについて,次の表に示します。なお,メッセージ転送中またはアプリケーションがキューアクセス中に強制停止をしたあとは,キューファイルの内容が矛盾するおそれがあるため,必ず再開始してください。

表5-2 開始モード,終了モード別のキューおよびメッセージの取り扱い

前回のオン
ラインモード
開始
モード
一時的動的
キュー
永続的動的
キュー
キューの
属性1
永続性
メッセージ
非永続性
メッセージ
正常終了正常開始××
計画停止A
計画停止B
再開始××
強制停止
システム障害による全面停止
再開始×2×
(凡例)
○:状態を引き継ぎます。
×:状態を引き継ぎません。
注※1
MQSET命令で変更された属性値です。
注※2
メッセージの登録および取り出しをOpenTP1のトランザクションの一部として操作していた場合,トランザクション回復処理でそのトランザクションがコミットするか,ロールバックするかによってメッセージ操作が有効になるかどうかが決まります。