このトピックでは、J2EE Connector Architecture (JCA) バージョン 1.5 のインバウンド・リソース・アダプターの メッセージ・エンドポイントとしてデプロイされるメッセージ駆動型 Bean (MDB) のメッセージ配信を スロットルする方法について説明します。
J2EE Connector Architecture (JCA) バージョン 1.5 のメッセージ配信サポートを 実装するリソース・アダプターを使用したインストールの場合、 WebSphere Application Server はメッセージ・スロットル・サポートを提供して、 エンドポイント・メッセージ駆動型 Bean (MDB) へのメッセージの配信を制御します。このサポートを 使用すると、膨大なインバウンド・メッセージがあるサーバーの 過負荷を回避できます (次の 2 つの事例を除く)。
メッセージ配信は、MDB がバインドされるアダプターによって作成可能な エンドポイント・インスタンスの最大数を制限することによって、 メッセージ駆動型 Bean を基準にスロットルされます。アダプターがエンドポイント・インスタンスの作成を試行すると、 MDB インスタンスのプロキシーが作成され、 JCA 1.5 アーキテクチャーによって許可されると戻されます。プロキシーと MDB インスタンスは 1 対 1 で対応し、MDB インスタンスと同様に、プロキシーは メッセージ駆動型 Bean と関連付けられる最小および最大プール・サイズ値に基づいてプールされます。 スロットルは、プロキシー・プールの管理を通じて実行されます。
アダプターがエンドポイントの作成を試行する時点で、 作成されるエンドポイント・プロキシー数がプールの最大サイズと等しい場合、 処理中のアダプター createEndPoint は 使用不可の例外を戻します。この例外が発生すると、アダプターは、 再利用のために少なくとも 1 つのエンドポイントをサーバーにリリースするまでは、 追加の createEndPoint() 要求を発行することが許可されません。したがって、インストールでは、 各 JCA 1.5 メッセージ駆動型 Bean に関連付けられたプールの最大サイズの設定に基づいて、 JCA 1.5 MDB へのメッセージ配信のスロットルを制御することができます。
com.ibm.websphere.ejbcontainer.poolsize jvm システム・プロパティーを使用してプール・サイズを指定し、Stateless Bean、メッセージ駆動型 Bean、およびエンティティー Bean の 最小および最大プール・サイズを定義することができます。JCA 1.5 をサポートするメッセージ駆動型 Bean の場合、 指定される最大プール・サイズ値は、そのメッセージ駆動型 Bean 用に作成できるメッセージ・エンドポイント・インスタンス数を 制限します。例えば、 インストールで JCA 1.5 MDB プールの最大サイズを 5 に設定した場合、 最大 5 つのメッセージをメッセージ駆動型 Bean の 5 つのインスタンスに並行して配信することができます。 このプロパティーは、コマンド行スクリプトを使用して (EJB コンテナーのシステム・プロパティー を参照)、または環境変数として管理コンソールで指定することによって、指定することができます。