4.6.4 コネクション接続要求の送信
TP1インバウンドアダプタがOpenTP1と通信する際に,送信先のOpenTP1と接続済みのコネクションがある場合は,接続済みのコネクションを利用します。接続済みのコネクションがない場合は,コネクション接続要求を送信してコネクションを接続します。
TP1インバウンドアダプタからOpenTP1へのコネクションの接続要求には,RPC応答,および同期点処理の2種類があります。それぞれのコネクション接続要求を送信したときの動作について説明します。
- 〈この項の構成〉
(1) RPC応答および同期点処理でのコネクション接続要求送信時の動作
RPC応答および同期点処理でのコネクション接続要求送信時の動作について,次の図に示します。
それぞれの動作の流れについて,(a)および(b)で説明します。
(a) RPC応答でのコネクション接続要求送信時の動作
RPC応答でのコネクション接続要求は,RPC通信機能のリクエスト受け付けスレッド,スケジュール機能のMessage-driven Bean(サービス)呼び出しスレッド,およびMessage-driven Bean(サービス)の停止処理を実行するスレッドが送信します。コネクション接続要求をOpenTP1に送信する際の流れを次に示します。
-
TP1インバウンドアダプタからOpenTP1へコネクション接続要求を送信します。コネクション接続要求は,OpenTP1が動作するOSのListenキュー(backlog)に格納されます。
-
OpenTP1がListenキューのコネクション接続要求を受信し,TP1インバウンドアダプタとのコネクションを確立します。
-
コネクションが確立したら,同期点監視スレッドは,OpenTP1への電文の送信と並行してOpenTP1からの電文を受信できるようにRPC送信コネクションがOpenTP1から電文を受信しているかどうかの監視を始めます。
(b) 同期点処理でのコネクション接続要求送信時の動作
同期点処理でのコネクション接続要求は,トランザクション連携機能の同期点電文送受信スレッドが送信します。コネクション接続要求をOpenTP1に送信する際の流れを次に示します。
-
TP1インバウンドアダプタからOpenTP1へコネクション接続要求を送信します。コネクション接続要求は,OpenTP1が動作するOSのListenキュー(backlog)に格納されます。
-
OpenTP1が,Listenキューのコネクション接続要求を受信し,TP1インバウンドアダプタとのコネクションを確立します。
-
コネクションが確立したら,同期点監視スレッドは,OpenTP1への電文の送信と並行してOpenTP1からの電文を受信できるように,RPC送信コネクションがOpenTP1から電文を受信しているかどうかの監視を始めます。
(2) コネクション接続要求の送信に関する設定
コネクション接続要求の送信に関する設定は,Connector属性ファイルに指定します。指定する項目は次のとおりです。
-
コネクションの最大同時接続数
-
max_connectionsプロパティ
-
trn_max_connectionsプロパティ
-
-
コネクション接続失敗時のリトライ
-
send_retry_countプロパティ
-
send_retry_intervalプロパティ
-
-
コネクション接続時のタイムアウト時間
-
connection_timeoutプロパティ
-
指定方法の詳細については,「4.12.2 リソースアダプタの設定」を参照してください。
(3) コネクション接続要求に失敗する原因およびTP1インバウンドアダプタでの動作
OpenTP1が,TP1インバウンドアダプタからのコネクション接続要求の受信に失敗する原因,およびTP1インバウンドアダプタでの動作を次に示します。
コネクション接続要求に失敗する原因 |
TP1インバウンドアダプタでの動作 |
---|---|
|
TP1インバウンドアダプタは,コネクション接続要求をリトライします。※1 リトライしてもコネクションを接続できなかった場合は,エラーメッセージ(KDJE58400-E)を出力して未送信の電文を破棄します。 |
OSのListenキューにコネクション接続要求が上限まで滞留している状態で,TP1インバウンドアダプタが新たなコネクション接続要求を送信した(Listenキューあふれ) |
|
TCP送信コネクション接続タイムアウトが発生した |
TP1インバウンドアダプタは,エラーメッセージ(KDJE58400-E)を出力して未送信の電文を破棄します。 |
コネクションの接続数が最大同時接続数に達している |
TP1インバウンドアダプタは,コネクションの接続数が最大同時接続数未満になるまでコネクション接続要求の送信を待機します。※2 |
- 注※1
-
コネクション接続要求のリトライについては,「4.12.2 リソースアダプタの設定」を参照してください。
- 注※2
-
どのコネクションからも一時クローズ処理の応答が返ってこない場合に,コネクションを切断できなかったとき,指定した一時クローズ応答の待ち時間が経過すると,TP1インバウンドアダプタは一時クローズ要求の応答を待つコネクションを強制的に切断します。このため,コネクション接続要求の送信を待ち続けることはありません。