2.7.1 CLサーバでのMCP
CLサーバに組み込んだ場合は,HAサーバにMCPを組み込んだ場合と比較して,次に示すときの動作が異なります。
-
コネクションの確立および論理端末の閉塞解除のタイミング
-
CLサーバでのメッセージ送受信時
それぞれの動作について説明します。
(1) コネクションの確立および論理端末の閉塞解除
待機系で自動起動を設定したクライアント型コネクションは,オンライン開始前ではなく,実行系に切り替わった時点で確立されます。同様に,UDPプロトコルを使用している場合の論理端末では,実行系に切り替わった時点で閉塞が解除されます。
このとき,系切り替え前の実行系のコネクション,および論理端末の状態は引き継ぎません。
(2) CLサーバでのメッセージ送受信
CLサーバで,メッセージを送受信する場合の動作について説明します。
(a) メッセージ送信
ここでは,CLサーバでメッセージを送信する場合の動作について,非同期一方送信の場合と同期一方送信の場合に分けて説明します。
- ■非同期一方送信
-
CLサーバでのメッセージの送信では,送信するメッセージを待機系で保証するかどうかを選択できます。このとき,保証するメッセージを永続メッセージ,保証しないメッセージを非永続メッセージといいます。
非同期一方送信の場合,ee_mcp_send関数の発行時に,メッセージを永続,非永続のどちらにするか指定します。
永続メッセージの場合,メッセージが消失することはありませんが,メッセージを二重送信することがあります。一方,非永続メッセージの場合,メッセージが消失することはありますが,メッセージを二重送信することはありません。
永続メッセージを指定する場合は,永続トランザクション上で指定する必要があります。非永続トランザクション上で永続メッセージを指定すると,メッセージが消失することがあります。
CLサーバで,メッセージを非同期一方送信した場合の処理の流れを,次の図に示します。
図2‒14 CLサーバでメッセージを非同期一方送信した場合の処理の流れ - 説明
-
-
実行系は,永続メッセージを送信します。
-
実行系は,待機系に対しCL同期済み通知メッセージを送信します。
-
待機系は,処理キューに仮登録された入力メッセージを削除します。
-
実行系は,非永続メッセージを送信します。
-
図中の1.から3.までの処理で実行系がダウンした場合,系切り替え後に永続メッセージを再度送信することがあります。
また,図中の3.から実行系での処理がリターンするまでに実行系がダウンした場合,送信メッセージが非永続メッセージであったときは,メッセージが消失します。
- ■同期一方送信
-
TP1キャッシュ機能を使用しない場合と同じです。