Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


2.2.1 常設コネクションの確立・解放

CUPはdc_clt_connect_s関数でサーバのクライアント拡張サービスに常設コネクションの確立を要求します。確立要求を受け付けた受け付けプロセスは,常設コネクション確立要求をCUP実行プロセスに渡します。CUPが,CUP実行プロセスから常設コネクションの確立応答のメッセージを受信した時点で,CUPとCUP実行プロセスの間に常設コネクションが確立されます。

CUPとCUP実行プロセスは1:1に対応します。一つのOpenTP1ノードで同時に処理を受け付けられるCUPの最大数は,CUP実行プロセスの最大プロセス数(クライアントサービス定義 cup_parallel_countの指定)と同じです。

常設コネクションを確立するノードは,ユーザ認証の有無によって次のようになります。ユーザ認証機能については,「2.1 ユーザ認証機能」を参照してください。

ユーザ認証を行う場合

ユーザ認証に成功したOpenTP1ノードです。

ユーザ認証を抑止する場合

dc_clt_cltin_s関数の引数target_hostに指定したOpenTP1ノード,またはクライアント環境定義DCHOSTオペランドに指定したOpenTP1ノードです。両方指定した場合,dc_clt_cltin_s関数の引数target_hostに指定したノードが優先されます。

なお,ユーザ認証を抑止し,dc_clt_cltin_s関数の引数target_hostにNULLを指定,かつクライアント環境定義DCHOSTオペランドの指定を省略した場合,常設コネクションの確立に失敗します。

dc_clt_disconnect_s関数で常設コネクションを解放するまで,メッセージの送受信には常設コネクションを使用します。ただし,何らかの障害が発生した場合,常設コネクションは解放されます。

常設コネクションの確立・解放処理を次の図に示します。

図2‒1 常設コネクションの確立・解放処理

[図データ]