Hitachi

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


2.1.3 コネクションの解放

コネクションの解放には,自動解放と手動解放の2種類があります。

〈この項の構成〉

(1) コネクションの自動解放

MCPがコネクションを自動解放するタイミングは,次に示すとおりです。

説明
  1. 障害を検知した場合,MCPはコネクションを解放します。

  2. コネクション解放のRL(MCP後処理トランザクション)を処理キューに登録します。

  3. UAPにコネクションの解放を通知します。

(2) コネクションの手動解放

eemcpdctcnコマンドの実行,またはee_mcp_dctcn関数の発行によって,コネクションを手動解放できます。

ee_mcp_dctcn関数の発行によって,手動でコネクションを解放する場合の処理の流れを次の図に示します。

図2‒6 ee_mcp_dctcn関数の発行によって,手動でコネクションを解放する場合の処理の流れ

[図データ]

説明
  1. UAPは,MCPに対してコネクションの解放要求をします。

  2. MCPは,コネクション管理テーブルでコネクションIDを検索し,解放要求のあったコネクションが確立中であることをチェックします。

  3. MCPは,コネクションの解放要求をします。

  4. コネクションが解放されます。

  5. 解放要求のあったコネクションが解放されると,コネクション確立のRL(MCP後処理トランザクション)を処理キューに登録します。

  6. UAPにコネクションの解放を通知します。

コネクションの解放形態

自システム側からコネクションを解放する場合,MCPではeemcpcn定義コマンドの-fオプションのcnreleaseオペランドの指定値によって,コネクションの解放形態を決定します。

解放形態には,FINパケットを送信してコネクションを解放する形態(cnreleaseオペランドにfinを指定)と,RSTパケットを送信して強制的にコネクションを解放する形態(cnreleaseオペランドにrstを指定)があります。

注意事項
  • MCPはOSが提供するTCP/IPのソケットインタフェースを利用しています。そのため,FINパケットを送信するように指定した場合でも,ネットワーク上でのすれ違いなどによって,MCPの指示とは関係なくRSTパケットを送信する場合があります。

  • TP1/EE終了(正常終了,計画停止A,および計画停止B)時は,MCP構成定義に関係なくFINパケットを送信してコネクションを解放します。