Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


2.1.8 コネクションの解放

運用コマンド(mcftdctcn)の入力,またはAPI(dc_mcf_tdctcn関数またはCBLDCMCF('TDCTCN△△'))の発行によって,TP1/NET/TCP/IPはコネクションを解放します。自システムからコネクションの解放要求を受けるとメッセージの送受信を終了し,コネクションを解放します。相手システムから解放要求を受信した場合も同様に,解放要求を受信した時点でコネクションを解放します。相手システムからの解放が,正常解放なのか,相手システムの異常による強制解放なのかの区別はできません。さらに,オンライン終了時にも,コネクションは解放されます。

自システムからコネクションを解放した場合,TP1/NET/TCP/IPは,コネクション定義(mcftalccn -f)のcnreleaseオペランドの指定によって,状態通知イベント(CCLSEVT),または障害通知イベント(CERREVT)のどちらかを通知します。また,相手システムからのコネクション解放の場合はコネクション定義(mcftalccn -f)のkindオペランドの指定によって,状態通知イベント(CCLSEVT),または障害通知イベント(CERREVT)のどちらかを通知します。コネクションは,クライアント,およびサーバのどちらからでも解放できます。

メッセージの欠落を防ぐため,コネクションの解放はユーザ間で,データ転送の終了の同期合わせ後に行ってください。

運用コマンド(mcftdctcn)を入力時またはオンライン終了時の,自システムからのコネクションの解放を次の図に示します。

図2‒15 自システムからのコネクションの解放(運用コマンド入力時またはオンライン終了時)

[図データ]

注※

オンライン終了時は通知されません。

運用コマンド(mcftdctcn)の-fオプションの指定の有無,およびコネクション定義(mcftalccn -f)のcnreleaseオペランドの指定によって,CCLSEVTまたはCERREVTのどちらかを通知します。

API(dc_mcf_tdctcn関数またはCBLDCMCF('TDCTCN△△'))発行時の,自システムからのコネクションの解放を次の図に示します。

図2‒16 自システムからのコネクションの解放(API発行時)

[図データ]

注※

APIおよびコネクション定義(mcftalccn -f)のcnreleaseオペランドの指定によって,CCLSEVTまたはCERREVTのどちらかを通知します。

相手システムからのコネクションの解放を次の図に示します。

図2‒17 相手システムからのコネクションの解放

[図データ]

注※

オンライン終了時は通知されません。

コネクション定義(mcftalccn -f)のkindオペランドの指定によって,CCLSEVTまたはCERREVTのどちらかを通知します。