Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/EE/Message Control Extension 使用の手引


2.7.1 CLサーバでのMCP

CLサーバに組み込んだ場合は,HAサーバにMCPを組み込んだ場合と比較して,次に示すときの動作が異なります。

それぞれの動作について説明します。

〈この項の構成〉

(1) コネクションの確立および論理端末の閉塞解除

待機系で自動起動を設定したクライアント型コネクションは,オンライン開始前ではなく,実行系に切り替わった時点で確立されます。同様に,UDPプロトコルを使用している場合の論理端末では,実行系に切り替わった時点で閉塞が解除されます。

このとき,系切り替え前の実行系のコネクション,および論理端末の状態は引き継ぎません。

(2) CLサーバでのメッセージ送受信

CLサーバで,メッセージを送受信する場合の動作について説明します。

(a) メッセージ送信

ここでは,CLサーバでメッセージを送信する場合の動作について,非同期一方送信の場合と同期一方送信の場合に分けて説明します。

■非同期一方送信

CLサーバでのメッセージの送信では,送信するメッセージを待機系で保証するかどうかを選択できます。このとき,保証するメッセージを永続メッセージ,保証しないメッセージを非永続メッセージといいます。

非同期一方送信の場合,ee_mcp_send関数の発行時に,メッセージを永続,非永続のどちらにするか指定します。

永続メッセージの場合,メッセージが消失することはありませんが,メッセージを二重送信することがあります。一方,非永続メッセージの場合,メッセージが消失することはありますが,メッセージを二重送信することはありません。

永続メッセージを指定する場合は,永続トランザクション上で指定する必要があります。非永続トランザクション上で永続メッセージを指定すると,メッセージが消失することがあります。

CLサーバで,メッセージを非同期一方送信した場合の処理の流れを,次の図に示します。

図2‒14 CLサーバでメッセージを非同期一方送信した場合の処理の流れ

[図データ]

説明
  1. 実行系は,永続メッセージを送信します。

  2. 実行系は,待機系に対しCL同期済み通知メッセージを送信します。

  3. 待機系は,処理キューに仮登録された入力メッセージを削除します。

  4. 実行系は,非永続メッセージを送信します。

図中の1.から3.までの処理で実行系がダウンした場合,系切り替え後に永続メッセージを再度送信することがあります。

また,図中の3.から実行系での処理がリターンするまでに実行系がダウンした場合,送信メッセージが非永続メッセージであったときは,メッセージが消失します。

■同期一方送信

TP1キャッシュ機能を使用しない場合と同じです。

(b) メッセージ受信

CLサーバでメッセージを受信した場合は,入力メッセージ編集UOCの実行後に待機系に受信メッセージを転送します。これをメッセージの永続化といいます。受信メッセージを永続化するかどうかは,eemcpfunc定義コマンドの-mオプションのrecvpermanenceオペランドで選択できます。

メッセージの転送処理については,マニュアル「TP1/EE/Extended Transaction Controller 使用の手引」を参照してください。