Hitachi

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


7.8.1 コネクションサービス

コネクションサービスは,TCP層上でのCJMSPブローカーとCJMSPリソースアダプタの接続(jmsコネクション),およびCJMSPブローカーとシステムの管理ユーザの接続(adminコネクション)を管理するためのサービスです。

〈この項の構成〉

(1) コネクションサービスの種類

CJMSプロバイダが提供するコネクションサービスには,次の2種類があります。

コネクションサービスでは,ポートマッパーによって静的または動的に割り当てられた,専用のポートを使用します。

ポートマッパーによるコネクションサービスへのポートの割り当ての概要を次の図に示します。

図7‒10 コネクションサービスへのポートの割り当ての概要

[図データ]

ポートマッパーは,デフォルトでは7676のポートを使用します。これ以外のポートを使用する場合は,CJMSPブローカーのimq.portmapper.portプロパティで設定してください。

ポートの割り当ての流れを次に示します。

  1. ポートマッパーに対して,CJMSPリソースアダプタからjmsサービスでの接続をするためのリクエストを送信します。または管理ユーザからadminサービスでの接続をするためのリクエストを送信します。

  2. ポートマッパーがコネクションサービスの要求に対して,ポートを動的に割り当てます。ただし,事前にCJMSPブローカーのプロパティとしてimq.jms.tcp.portプロパティまたはimq.admin.tcp.portプロパティを指定した場合は,コネクションサービスごとに指定したポートが割り当てられます。

なお,ポートマッパーがコネクションを接続するためのリクエストを複数同時に受け付けた場合,処理待ちのリクエストはOSのバックログに格納されて待機します。

コネクションサービスで使用する各プロパティの詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「6.2.3 config.properties(CJMSPブローカー個別プロパティファイル)」を参照してください。

(2) コネクションサービスのスレッドプール管理

コネクションサービスはマルチスレッドで動作するため,複数のコネクションを同時に管理できます。コネクションサービスで使用するスレッドは,CJMSPブローカーが管理するスレッドプールで管理されています。

なお,コネクションサービスのスレッドプールは,処理性能を向上させるために,独自の方式で管理されています。一つのコネクションでは,メッセージ受信用および送信用の二つのスレッドを使用します。