分散トランザクション処理機能 OpenTP1 解説

[目次][用語][索引][前へ][次へ]

3.7.4 rapクライアントマネジャ

rapクライアントが常設コネクションを確立していると認識していても,そのコネクションが有効でない場合(rapサーバ側マシンの電源の切断など)があります。この場合,rapクライアントが,dc_rpc_callを発行してrapサーバにサービス要求を送信しても,サービス要求はrapサーバで受信されません。さらに,rapクライアントには,タイムアウトになるまでdc_rpc_callの応答が返ってきません。この現象を回避するために,rapクライアントマネジャサービス定義を定義し,rapクライアントマネジャを起動します。

rapクライアント側で動作するrapクライアントマネジャは,rapリスナーからの起動通知を受信したとき,通知元のrapリスナーを識別する情報と起動通知を受信した時刻をrapクライアントマネジャの管理テーブルに保持します。rapクライアントは,rapリスナーとコネクションを確立するときにこの管理テーブルを参照して起動通知を受信した時刻を保存しておきます。rapクライアントは,dc_rpc_call関数を発行するとき,再度この管理テーブルの起動通知を受信した時刻を参照して,コネクション確立時に保存しておいた値と比較します。比較した結果,起動通知時刻が一致していれば,現在のコネクションが有効であると判断し,不一致であれば現在のコネクションが無効であると判断します。

コネクションが無効と判断した場合の動作は,コネクトモードによって異なります。

rapクライアントマネジャの動作環境を設定するには,rapsetupコマンドを実行してください。rapクライアントマネジャを起動するには,rapdfgenコマンドを実行してrapクライアントマネジャ用ユーザサービス定義を生成してください。

rapクライアントマネジャが異常終了したあとに再起動,または正常終了した場合,rapクライアントは現在のコネクションを無効と判断し,強制的にコネクションを切断することがあります。強制的に切断したコネクションが有効であった場合,rapリスナー側で,KFCA26965-Eメッセージ(スタティックコネクションスケジュール機能使用時),またはKFCA26956-Wメッセージ(ダイナミックコネクションスケジュール機能使用時)が出力されます。
KFCA26965-Eメッセージ,KFCA26956-Wメッセージの詳細については,マニュアル「OpenTP1 メッセージ」を参照してください。