9.14.2 Stateless Session Bean単位のスケジューリング
CTMによるスケジューリングの対象に設定したJ2EEアプリケーションに含まれているStateless Session BeanをCTMによるスケジューリングの対象にする場合,Stateless Session Bean単位のスケジューリングの設定をします。
スケジューリングの対象となるのは,リモートホームインタフェースを実装しているStateless Session Beanだけです。
スケジューリング機能を利用する場合,Stateless Session Beanの実行時プロパティを設定します。Stateless Session Beanの実行時プロパティの設定については,「9.10.2 Stateless Session Beanの実行時プロパティの設定」を参照してください。
また,アプリケーションの属性でCTMに連携するための設定をします。
アプリケーションの属性とSession Beanの属性の両方を設定する必要があるので,アプリケーション統合属性ファイルを使用して設定することを推奨します。
(1) 編集する属性ファイル
アプリケーション統合属性ファイル
(2) 編集する属性ファイルの取得と属性の設定
-
属性ファイルの取得
次に示すコマンドを実行してアプリケーション統合属性ファイルを取得します。
- 実行形式
cjgetappprop [<サーバ名称>] [-nameserver <プロバイダURL>] -name <J2EEアプリケーション名> -type all -c <アプリケーション統合属性ファイルパス>
- 実行例
cjgetappprop MyServer -name adder -type all -c C:\home\Adder.xml
-
属性の設定
次に示すコマンドを実行して,アプリケーション統合属性ファイルの値を反映します。
- 実行形式
cjsetappprop [<サーバ名称>] [-nameserver <プロバイダURL>] -name <J2EEアプリケーション名> -type all -c <アプリケーション統合属性ファイルパス>
- 実行例
cjsetappprop MyServer -name adder -type all -c C:\home\Adder.xml
(3) 編集する属性設定項目
編集する属性設定項目を次に示します。
-
アプリケーションの属性
-
Session Beanの属性
ぞれぞれの設定項目を次に示します。
(a) アプリケーションの属性
CTMに連携するための設定項目を次に示します。
項目 |
必須 |
対応するタグ名 |
---|---|---|
CTM連携有無 |
○ |
<managed-by-ctm> |
キューの配置モデル |
○ |
<scheduling-unit> |
プロパティの設定項目については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「3.2.1 アプリケーション属性ファイルの指定内容」を参照してください。
(b) Session Beanの属性
CTMに連携するための実行時属性設定項目(<session-runtime>)を次に示します。
項目 |
必須 |
対応するタグ名 |
---|---|---|
スケジューリングの設定 |
○ |
<enable-scheduling> |
キュー名 |
○ |
<scheduling> - <queue-name> |
スレッド数 |
○ |
<scheduling> - <parallel-count> |
キューの長さ |
△ |
<scheduling> - <queue-length> |
プロパティの設定項目については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「3.4.1 Session Bean属性ファイルの指定内容」を参照してください。
(4) 注意事項
アプリケーション統合属性ファイルを使用しないで,アプリケーション属性ファイルおよびSession Bean属性ファイルを使用して設定する場合は,次の順に設定する必要があります。
-
次に示すコマンドを実行して,Session Bean属性ファイルの<enable-scheduling>タグの値を反映します。
cjsetappprop [<サーバ名称>] [-nameserver <プロバイダURL>] -name <J2EEアプリケーション名> -type ejb -resname <EJB-JAR表示名>/<Stateless Session Bean表示名> -c <Session Bean属性ファイルパス>
-
次に示すコマンドを実行して,アプリケーション属性ファイルの<managed-by-ctm>タグおよび<scheduling-unit>タグの値を反映します。
cjsetappprop [<サーバ名称>] [-nameserver <プロバイダURL>] -name <J2EEアプリケーション名> -c <アプリケーション属性ファイルパス>
-
次に示すコマンドを実行して,Session Bean属性ファイルの<scheduling>タグの下位のタグの値を反映します。
cjsetappprop [<サーバ名称>] [-nameserver <プロバイダURL>] -name <J2EEアプリケーション名> -type ejb -resname <EJB-JAR表示名>/<Stateless Session Bean表示名> -c <Session Bean属性ファイルパス>