ページの先頭行へ戻る
Interstage Application Server V12.0.0 Java EE 7 設計・構築・運用ガイド
FUJITSU Software

2.19.4 接続サービス

メッセージブローカは、接続サービスを使用してアプリケーションと、メッセージブローカの管理をサポートします。
メッセージブローカは、次に示す接続サービスを提供します。


admin接続サービス

メッセージブローカの管理を実施します。

メッセージブローカをREMOTE運用している場合
Interstage Java EE 7 DASサービスがメッセージブローカをEMBEDDED運用している場合

以下からの要求をTCP通信を介して受け付けます。

  • JMSが提供するimqcmdコマンド

jms接続サービス

JMSのメッセージ配信処理を実施します。

メッセージブローカをREMOTE運用している場合

以下からのメッセージの送受信要求をTCP通信を介して受け付けます。

  • Interstage Java EE 7 DASサービス/IJServerクラスタで動作する以下のアプリケーション

    • Webアプリケーション

    • EJBアプリケーション

  • クライアントアプリケーションが動作する以下のアプリケーション

    • Java EEアプリケーションクライアントコンテナ

    • Java SEスタンドアロンアプリケーション

Interstage Java EE 7 DASサービスがメッセージブローカをEMBEDDED運用している場合

以下からのメッセージの送受信要求をTCP通信を介して受け付けます。

  • クライアントアプリケーションが動作する以下のアプリケーション

    • Java EEアプリケーションクライアントコンテナ

    • Java SEスタンドアロンアプリケーション

jmsdirect接続サービス

JMSのメッセージ配信処理を実施します。

メッセージブローカをREMOTE運用している場合

本接続サービスは使用できません。

Interstage Java EE 7 DASサービスがメッセージブローカをEMBEDDED運用している場合

以下からのメッセージの送受信要求をTCP通信を介さずに受け付けます。

  • Interstage Java EE 7 DASサービスで動作する以下のアプリケーション

    • Webアプリケーション

    • EJBアプリケーション


メッセージブローカの運用形態ごとに各接続サービスを図示します。

■メッセージブローカをREMOTE運用している場合


Interstage Java EE 7 DASサービスのメッセージブローカをEMBEDDED運用している場合


スレッドプール管理

admin接続サービスおよびjms接続サービスは、TCP通信を介してメッセージの送受信要求を受け付けます。そのため、スレッドプールを使用してマルチスレッドで要求を処理します。これらの接続に必要なスレッドは、メッセージブローカにより、接続サービスごとに別のスレッドプールで管理されます。
jmsdirect接続サービスは、TCP通信を介さずにInterstage Java EE 7 DASサービスから直接要求を受け付けるため、スレッドプールを使用しません。

スレッドモデル

スレッドプールで管理するスレッドのモデルは、専用モデルです。

専用モデル

メッセージブローカへのコネクションごとに、2つのスレッド(受付用と配信用)を作成します。

スレッドの作成

接続サービスは、接続要求を受け付けると、スレッドプールからスレッドを取得します。
スレッドが存在しない場合は、必要な数だけスレッドを作成して処理を開始します。
処理完了後、取得/作成したスレッドは削除されず、スレッドプールに返却されます。

注意

  • メッセージブローカの起動直後は、スレッドプールにスレッドは存在しません。
    このため、接続サービスが管理するスレッド数は、最小スレッド数より少ない場合があります。

  • 最大スレッド数を超えたスレッドは、作成できません。
    現在利用されているスレッド数が最大スレッド数に達している場合は、現在利用されているスレッドがスレッドプールに返却されるまで、新しい要求を拒否します。

スレッドの削除

接続サービスが管理するスレッド数が、最小スレッド数より多い場合は、スレッドプールに返却されてから一定時間を経過しても使用されないスレッドを破棄します。


参照

スレッドプールでは、管理するスレッドの最小スレッド数と最大スレッド数を、接続サービスに関するプロパティのmin_threadsプロパティとmax_threadsプロパティに設定します。

スレッドプールに関するプロパティの詳細については、「8.7.1 接続サービスに関するプロパティ」を参照してください。