4.6.1 コネクション管理機能の概要
コネクション管理機能は,OpenTP1とTP1インバウンドアダプタ間のコネクションの接続,切断,およびプーリングを制御する機能です。コネクションを接続したままで,OpenTP1とTP1インバウンドアダプタの間で通信できます。そのため,コネクションの接続・切断に伴うボトルネックを削減し,通信効率が向上します。
コネクション管理機能が管理するコネクションは2種類あります。コネクション管理機能が管理するコネクションの種類,および役割について次の表に示します。
コネクションの種類 |
コネクションの役割 |
---|---|
RPC受信コネクション |
OpenTP1からのRPC要求を受信します。 |
RPC送信コネクション |
OpenTP1へのRPC応答を送信します。 また,トランザクション連携機能を使用している場合,OpenTP1との同期点処理の送受信をします。 |
なお,一時クローズ処理の送受信では,どちらのコネクションも使用します。一時クローズ処理については,「4.6.6 一時クローズ処理によるコネクション数の調整」を参照してください。
TP1インバウンドアダプタでのコネクション管理機能の概要と位置づけについて次の図に示します。
OpenTP1からの接続要求をRPC待ち受けポートで受け付けます。受け付けた要求は,RPC受信監視スレッド内にあるRPC受信コネクションが受信します。RPC受信監視スレッドがRPC受信コネクションの受信を検知すると,RPC通信機能のリクエスト受け付けスレッドへリクエストを送信します。
コネクション管理機能は,次の要素で構成されています。
-
RPC待ち受けポート
OpenTP1からのRPC要求を受信する際にコネクションの接続要求を待ち受けるポートです。TP1インバウンドアダプタの開始時に開き,終了時に閉じます。
-
RPC監視スレッド
RPC受信コネクションに電文が送信されてきているかどうかを監視するスレッドです。RPC受信コネクションで電文の受信を検知すると,RPC通信機能のリクエスト受け付けスレッドに電文受信処理を渡します。
TP1インバウンドアダプタの開始時に作成し,終了時に消滅します。
-
同期点待ち受けポート
RPC応答を送信したRPC送信コネクションが切断済みの場合に,同期点待ち受けポートを利用してOpenTP1からRPC送信コネクションを接続します。
すでにRPC応答を送信したコネクションがある場合はそのコネクションを使って同期点処理を実行します。
TP1インバウンドアダプタの開始時に開き,終了時に閉じます。
-
同期点監視スレッド
RPC送信コネクションに電文が送信されてきているかどうかを監視するスレッドです。RPC送信コネクションでの電文の受信を検知すると,トランザクション連携機能の同期点電文送受信スレッドに電文受信処理を渡します。
TP1インバウンドアダプタの開始時に作成し,終了時に消滅します。
-
コネクション数調整スレッド
OpenTP1とのコネクションの接続数を監視し,一定のしきい値に達した場合に一時クローズ処理によって未使用のコネクションを切断するスレッドです。
コネクション数調整スレッドは,RPC受信コネクションとRPC送信コネクションをまとめて監視するため,TP1インバウンドアダプタごとに1スレッドが動作します。
コネクション数調整スレッドは,TP1インバウンドアダプタの開始時に作成し,終了時に消滅します。
一時クローズ処理については,「4.6.6 一時クローズ処理によるコネクション数の調整」を参照してください。
コネクション管理機能は,OpenTP1とアプリケーションサーバ間の通信で必要となる,コネクションに関する次の処理を制御します。
-
コネクション接続要求の受信
-
電文の受信
-
コネクション接続要求の送信
-
電文の送信
-
一時クローズ処理によるコネクション数の調整
-
コネクション接続要求または電文送信失敗時のリトライ