Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
スケジュールキューに滞留しているRPC要求は,Message-driven Bean(サービス)実行制御スレッドによって順次取り出され,Connector 1.5仕様に準拠したWorkManagerによって管理されているMessage-driven Bean(サービス)呼び出しスレッドに委譲されます。RPC要求を委譲されたMessage-driven Bean(サービス)呼び出しスレッドによって,Message-driven Bean(サービス)が実行されます。
スケジュール機能では,WorkManagerのMessage-driven Bean(サービス)呼び出しスレッド数と,Message-driven Bean(サービス)のインスタンスプール数によって,同時に実行するRPC要求の数を制御します。
Message-driven Bean同時実行数の制御の概要を次の図に示します。
図4-12 Message-driven Bean同時実行数の制御の概要
Message-driven Bean(サービス)の同時実行数を制御するプロパティについて,次の表に示します。これらの値を適切に設定しないと,正しく同時実行数を制御できません。
表4-10 Message-driven Bean(サービス)の同時実行数を制御するプロパティ
設定項目 | 設定対象 (設定個所) |
指定するタグ名 | 指定する内容 |
---|---|---|---|
Message-driven Bean(サービス)の同時実行数 | TP1インバウンドアダプタ (Connector属性ファイル) |
<hitachi-connector-property>下の<resourceadapter-runtime><property>の<MaxTPoolSize> | Message-driven Bean(サービス)呼び出しスレッドの最大数 |
<hitachi-connector-property>下の<resourceadapter-runtime><property>の<MinTPoolSize> | Message-driven Bean(サービス)呼び出しスレッドの最小数 | ||
Message-driven Bean(サービス)のインスタンスプール数 | Message-driven Bean (cosminexus.xml または MessageDrivenBean属性ファイル) |
<pooled-instance><maximum> | Message-driven Bean(サービス)のインスタンスプール数の最大数 |
<pooled-instance><minimum> | Message-driven Bean(サービス)のインスタンスプール数の最小数(ただし,指定しても常に1とみなされます) |
TP1インバウンドアダプタ単位の最大同時実行数は,WorkManagerのスレッドプール(MaxTPoolSize)に指定します。また,個々のMessage-driven Bean(サービス)単位の最大同時実行数は,Message-driven Beanのインスタンスプール(maximum)で指定します。
これらの最大値は,次の関係になるように指定してください。
Message-driven Bean(サービス)呼び出しスレッドの最大数(MaxTPoolSize)≧ それぞれのMessage-driven Bean(サービス)のインスタンスプール(maximum)の総和 |
Message-driven Bean(サービス)実行制御スレッドでは,Message-driven Bean(サービス)呼び出しスレッド数がMessage-driven Bean(サービス)のインスタンスプールの最大値(maximum)の総和を超えることがないよう,Message-driven Bean(サービス)呼び出しスレッドの実行数を制御します。MaxTPoolSizeとmaximumの関係が上記の式の関係になっていない場合,RPC要求時にMessage-driven Bean(サービス)呼び出しスレッドまたはMessage-driven Bean(サービス)のインスタンスが不足することがあります。この場合,RPC要求はスケジュールキューに滞留した状態になります。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.