ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Java EE運用ガイド(Java EE 6編)
FUJITSU Software

7.7.8 EJBコンテナの定義項目

定義項目

カテゴリ

プロパティ

プロパティ名

get

set

list

再起動

■EJBコンテナ

×

×

Enterprise Beanインスタンスのキャッシング(Stateful Session Beanの定義項目)

キャッシュのサイズ変更量

cache-resize-quantity

×

必要

最大キャッシュサイズ

max-cache-size

×

必要

キャッシュアイドルタイムアウト

cache-idle-timeout-in-seconds

×

必要

削除タイムアウト

removal-timeout-in-seconds

×

必要

選択内容の削除ポリシー

victim-selection-policy

×

必要

セッション格納位置

session-store

×

必要

Enterprise Beanインスタンスのプーリング(Stateless Session Beanの定義項目)

初期および最小プールサイズ

steady-pool-size

×

必要

プールサイズ変更量

pool-resize-quantity

×

必要

最大プールサイズ

max-pool-size

×

必要

プールアイドルタイムアウト

pool-idle-timeout-in-seconds

×

必要

■EJBタイマーサービス

×

×

最小配信間隔

minimum-delivery-interval-in-millis

×

必要

最大再配信回数

max-redeliveries

×

必要

タイマーデータソース

timer-datasource

×

必要

再配信間隔

redelivery-interval-internal-in-millis

×

必要

EJBタイマーサービスの追加プロパティ

redelivery-interval-internal-in-millis

×

追加プロパティ

非同期処理スレッドの最大プールサイズ

×

必要


EJBコンテナ

定義項目名

${clusterName_instanceName_configName}.ejb-container


キャッシュのサイズ変更量

定義項目名

${clusterName_instanceName_configName}.ejb-container.cache-resize-quantity

説明

Beanインスタンスをpassivateする場合、この数のインスタンスをpassivateしてキャッシュから破棄します(注2)
最大キャッシュサイズ以下の値を設定してください。

範囲

1~2147483647

省略値

32


最大キャッシュサイズ

定義項目名

${clusterName_instanceName_configName}.ejb-container.max-cache-size

説明

キャッシュされたBeanインスタンスをpassivate対象とするか判断する数です(注1)(注2)

「0」を設定した場合はキャッシュサイズが無制限になります。
設定した値の数だけ、アプリケーションの起動時にインスタンスを格納する領域を確保します。このため、値を大きく変更する場合には、指定した値までキャッシュされるかどうかに関わらず、ヒープサイズをチューニングしてください。
キャッシュのサイズ変更量以上の値を設定してください。

範囲

0~2147483647

省略値

512


キャッシュアイドルタイムアウト

定義項目名

${clusterName_instanceName_configName}.ejb-container.cache-idle-timeout-in-seconds

説明

キャッシュされたBeanインスタンスをpassivate対象とするかを判定する監視時間です。指定した時間間隔でキャッシュを監視し、指定した時間以上アイドル状態が続いているBeanインスタンスをpassivate対象とします(注2)
「0」を設定した場合はキャッシュアイドルタイムアウトが動作しません。

範囲

0~2147483647(秒)

省略値

600


削除タイムアウト

定義項目名

${clusterName_instanceName_configName}.ejb-container.removal-timeout-in-seconds

説明

使用されなくなったBeanインスタンスが存在できる最大時間です。
Beanインスタンスに対して、この時間を超過してもビジネスメソッドが実行されなかった場合、EJBコンテナが該当のインスタンスの対話状態をファイルシステムから削除します。キャッシュアイドルタイムアウト以下の値を指定すると、Beanインスタンスをpassivateした後に削除します(注3)
「0」を設定した場合は削除タイムアウトが動作しません。

範囲

0~2147483647(秒)

省略値

5400


選択内容の削除ポリシー

定義項目名

${clusterName_instanceName_configName}.ejb-container.victim-selection-policy

説明

削除対象のインスタンスを選択するポリシーです。
過度のインスタンスをpassivateしキャッシュから廃棄する場合、このアルゴリズムで削除するBeanインスタンスを決定します。以下からポリシーを選択します。

  • nru: 最近使用されていない

  • fifo: ファーストインファーストアウト

  • lru: 最近の使用頻度がもっとも低い

NRUポリシー(Not Recently Used)は、キャッシュ内で古い、かつ最近アクセスされていないBeanインスタンスを優先的に削除します。FIFOポリシー(First In, First Out)は、キャッシュ内で最も古いBeanを削除します。LRUポリシー(Least Recently Used)は、最近最もアクセスされていないBeanを削除します。

範囲
  • nru

  • fifo

  • lru

省略値

nru


セッション格納位置

定義項目名

${clusterName_instanceName_configName}.ejb-container.session-store

説明

passivateしたBeanインスタンスの対話状態を格納するディレクトリを指定します。
空文字を設定した場合はIJServerクラスタのカレントディレクトリのパスが適用されます。相対パスで指定した場合はIJServerクラスタのカレントディレクトリからの相対パスとなります。

範囲

任意の文字列

省略値

${com.sun.aas.instanceRoot}/session-store
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、IJServerクラスタのカレントディレクトリのパスが設定されているものとして動作します。


初期および最小プールサイズ

定義項目名

${clusterName_instanceName_configName}.ejb-container.steady-pool-size

説明

プールに確保するインスタンスの数です。
EJBアプリケーションへのアクセス時、またはアイドルタイムアウト監視処理時に、プールサイズが指定された数より少ない場合、EJBコンテナは処理スレッドとは別のスレッドでBeanインスタンスを生成してプールに追加します。生成数はプールサイズ変更量が適用されます。
また、処理要求によりプールに存在するインスタンス数が指定した値より小さくなると、EJBコンテナはプールされたBeanインスタンスが指定された値になるまでBeanインスタンスを生成してプールに追加します。
最大プールサイズ以下の値を設定してください。

範囲

0~2147483647

省略値

0


プールサイズ変更量

定義項目名

${clusterName_instanceName_configName}.ejb-container.pool-resize-quantity

説明

一度に縮小または拡張するプールサイズです。最大プールサイズを超えたり、最小プールサイズを下回ることがないように、調整されます。
「0」を設定した場合、または最小プールサイズに「0」を指定した場合は適用されません。適用されない場合は1インスタンスずつ生成します。
最大プールサイズ以下の値を設定してください。

範囲

0~2147483647

省略値

8


最大プールサイズ

定義項目名

${clusterName_instanceName_configName}.ejb-container.max-pool-size

説明

プールされるBeanインスタンスの最大数です。
Beanインスタンスでの処理完了時にプールに存在するインスタンス数が指定された数の場合には、使用したBeanインスタンスをプールに戻さずに破棄します。
「0」を設定した場合はプールサイズが無制限になります。
初期および最小プールサイズ以上、かつプールサイズ変更量以上の値を設定してください。

範囲

0~2147483647

省略値

32


プールアイドルタイムアウト

定義項目名

${clusterName_instanceName_configName}.ejb-container.pool-idle-timeout-in-seconds

説明

プール内インスタンスの最大許容アイドル時間です。
EJBコンテナは設定値の間隔でプールを監視し、プールサイズを調整します(注4)
プール内インスタンス数が最小プールサイズ以上の場合、設定値よりも長くアクセスがなかったインスタンスを破棄します。
プール内インスタンス数が最小プールサイズ未満の場合、プールサイズ変更量に従いインスタンスを追加します。
「0」を設定した場合は監視しません。

範囲

0~2147483647(秒)

省略値

600


EJBタイマーサービス

定義項目名

${clusterName_instanceName_configName}.ejb-container.ejb-timer-service


最小配信間隔

定義項目名

${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.minimum-delivery-interval-in-millis

説明

EJBタイマーの最小配信間隔です。EJBタイマーの生成時に指定された配信間隔が本設定値より小さい場合、本設定値が使用されます。

範囲

1~2147483647(ミリ秒)

省略値

7000


最大再配信回数

定義項目名

${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.max-redeliveries

説明

EJBタイマーの再配信回数の最大値です。本設定値の回数分の再配信を実行してもコールバック処理が成功しなかった場合、EJBタイマーサービスは該当のEJBタイマーを削除します。

範囲

1~2147483647(回)

省略値

1


タイマーデータソース

定義項目名

${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.timer-datasource

説明

EJBタイマーサービスが使用するデータソースです。

範囲

任意の文字列

省略値

jdbc/__TimerPool


再配信間隔

定義項目名

${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.redelivery-interval-internal-in-millis

説明

EJBタイマーの再配信間隔です。

範囲

1~2147483647(ミリ秒)

省略値

5000


EJBタイマーサービスの追加プロパティ

定義項目名

${clusterName_instanceName_configName}.ejb-container.ejb-timer-service.property.${PropertyName}

説明

本バージョンでは使用できません。


非同期処理スレッドの最大プールサイズ

定義項目名

${clusterName_instanceName_configName}.ejb-container.property.thread-core-pool-size

説明

Session Beanの非同期処理スレッドをプールする最大数です。

処理中のスレッド数が最大プールサイズに達した場合に処理要求があると、スレッドは作成されず、スレッドが空くまでキューで待機します。

範囲

1~2147483647

省略値

なし

ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、16が設定されているものとして動作します。


1)

メソッド実行完了時にBeanインスタンスをキャッシュに戻した時に、キャッシュに存在するBeanインスタンスが最大キャッシュサイズとキャッシュのサイズ変更量から算出された閾値を超過した場合、超過したインスタンスはpassivate対象のインスタンスとなります。
閾値は以下の式で算出されています。

  • キャッシュのサイズ変更量が最大キャッシュサイズを超えている場合
    閾値 = 最大キャッシュサイズ × 0.75 + 1

  • キャッシュのサイズ変更量が最大キャッシュサイズを超えていない場合
    閾値 = 最大キャッシュサイズ - キャッシュのサイズ変更量 + 1

2)

passivate対象のインスタンスはキャッシュのサイズ変更量の指定値分passivateしますが、passivate対象のインスタンス数が8に満たない場合はpassivateしません。

3)

削除タイムアウトとキャッシュアイドルタイムアウトの指定値の大小関係とその場合の動作を説明します。

  • 削除タイムアウト>キャッシュアイドルタイムアウトの場合
    アイドル状態のBeanはキャッシュアイドルタイムアウトの指定時間超過後passivate対象となります。passivateされたBeanは、削除タイムアウトの指定時間超過後に削除されます。

  • 削除タイムアウト≦キャッシュアイドルタイムアウトの場合
    アイドル状態のBeanはキャッシュアイドルタイムアウトの指定時間超過後passivate対象となり、passivate後に直ちに削除されます。

注4)

プールの監視は指定値の間隔で実施しますが、起動後に1回行った後はEJBアプリケーションの使用状況を確認し、使用されていないBeanインスタンスはプールサイズを調整しません。


関連情報

詳細な説明や関連記事については、以下を参照してください。

内容

参照先

機能説明

2.9 EJBの提供機能

チューニング方法

6.5 EJBコンテナのチューニング

コマンド

asadminコマンドの以下のサブコマンド
  getサブコマンド
  setサブコマンド
  listサブコマンド