Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


4.6.2 コネクション接続要求の受信

OpenTP1とTP1インバウンドアダプタ間で通信する際,接続済みのコネクションがあれば利用し,なければOpenTP1からTP1インバウンドアダプタへコネクション接続要求を送信してコネクションを接続します。

OpenTP1からのコネクションの接続要求は,RPC待ち受けポート,または同期点待ち受けポートで受け取ります。それぞれのポートが,OpenTP1からのコネクションの接続要求を受け取ったときの動作,およびコネクション接続要求に関する設定について説明します。

〈この項の構成〉

(1) RPC待ち受けポートがコネクション接続要求を受信した際の動作

TP1インバウンドアダプタのRPC待ち受けポートが,コネクション接続要求を受信した際の動作を次に示します。

図4‒3 RPC待ち受けポートがコネクション接続要求を受信した際の動作

[図データ]

  1. OpenTP1がRPC待ち受けポートに対してコネクション接続要求を送信します。コネクション接続要求は,TP1インバウンドアダプタが動作するOSのListenキュー(backlog)に格納されます。

  2. TP1インバウンドアダプタのコネクション管理機能では,RPC監視スレッドがListenキューのコネクション接続要求を受信し,OpenTP1とのコネクションを確立します。

  3. RPC監視スレッドは,確立したコネクションがOpenTP1から電文を受信しているかどうか監視を始めます。

(2) 同期点待ち受けポートがコネクション接続要求を受信した際の動作

TP1インバウンドアダプタの同期点待ち受けポートが,コネクション接続要求を受信した際の動作を次に示します。

図4‒4 同期点待ち受けポートがコネクション接続要求を受信した際の動作

[図データ]

OpenTP1の同期点処理は,RPC応答を受信したコネクションを使用します。このコネクションが切断されていた際に,TP1インバウンドアダプタの同期点待ち受けポートにOpenTP1がコネクション接続要求をします。

  1. OpenTP1が,同期点待ち受けポートに対してコネクション接続要求を送信します。コネクション接続要求は,TP1インバウンドアダプタが動作するOSのListenキュー(backlog)に格納されます。

  2. TP1インバウンドアダプタのコネクション管理機能では,同期点監視スレッドがListenキューのコネクション接続要求を受信し,OpenTP1とのコネクションを確立します。

  3. 同期点監視スレッドは,確立したコネクションがOpenTP1から電文を受信しているかどうか監視を始めます。

(3) コネクション接続要求に関する設定

コネクション接続要求に関する設定のうち,Connector属性ファイルに指定する項目は次のとおりです。

指定方法の詳細については,「4.12.2 リソースアダプタの設定」を参照してください。

コネクション接続要求に関する設定のうち,IPアドレス(バインド先アドレス)については,usrconf.properties(J2EEサーバ用ユーザプロパティファイル)のejbserver.jca.adapter.tp1.bind_hostプロパティに設定します。

バインド先アドレスを指定すると,TP1インバウンドアダプタが動作するホストが複数の物理ネットワークインタフェースを持つ場合に,特定のIPアドレスだけを使用するように設定できます。この設定をしない場合は,システムによって自動的に選択されたローカルアドレスが使用されます。指定方法の詳細については,「4.12.1 J2EEサーバの設定」を参照してください。

(4) コネクション接続要求に失敗する原因およびOpenTP1での動作

TP1インバウンドアダプタが次に示す条件に当てはまる場合,OpenTP1からのコネクション接続要求に失敗します。コネクション接続要求に失敗する原因,およびOpenTP1での動作について説明します。

表4‒5 コネクション接続要求に失敗する原因およびOpenTP1での動作

コネクション接続要求に失敗する原因

OpenTP1での動作

  • TP1インバウンドアダプタが起動していない

  • TP1インバウンドアダプタで通信障害が発生している

OpenTP1のdc_rpc_call関数,または同期点処理がエラーを返します。

OSのListenキューにコネクション接続要求が上限まで滞留している状態で,OpenTP1が新たなコネクション接続要求を送信した(Listenキューあふれ)

新たなコネクション接続要求は,OSのListenキューによって拒否されます。OpenTP1のdc_rpc_call関数,または同期点処理がエラーを返します。

コネクションの接続数がコネクション管理機能の最大同時接続数の設定値に達している

コネクション接続要求は,コネクションの接続数が最大同時接続数未満になるまでOSのListenキューに滞留します。OpenTP1のdc_rpc_call関数,または同期点処理は最大応答待ち時間に達してからエラーを返します。

注※

エラーコードについては,「4.17 TP1インバウンドアダプタで発生するRPCエラー応答」を参照してください。