ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

9.8.8 EJBコンテナの定義項目

定義項目

項目名

省略値

範囲

説明

再起動要否

(※)

Enterprise Beanインスタンスのキャッシング

最大キャッシュサイズ

512

0~2147483647
(キャッシュのサイズ変更量以上)

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

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

32

1~2147483647
(最大キャッシュサイズ以下)

Beanインスタンスをpassivateする場合、この数のインスタンスをpassivateしてキャッシュから破棄します(注2)。

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

600

0~2147483647(秒)

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

削除タイムアウト

5400

0~2147483647(秒)

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

選択内容の削除ポリシー

nru(注3)

  • nru

  • fifo

  • lru

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

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

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

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

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

Enterprise Beanインスタンスのプーリング

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

0

0~2147483647
(最大プールサイズ以下)

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

最大プールサイズ

32

0~2147483647
(初期および最小プールサイズ以上、かつプールサイズ変更量以上)

プールされるBeanインスタンスの最大数です。
Beanインスタンスでの処理完了時にプールに存在するインスタンス数が指定された数の場合には、使用したBeanインスタンスをプールに戻さずに破棄します。
0を設定した場合はプールサイズが無制限になります。

プールサイズ変更量

8

0~2147483647
(最大プールサイズ以下)

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

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

600

0~2147483647(秒)

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

EJBタイマーサービス

最小配信間隔

7000

1~2147483647(ミリ秒)

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

最大再配信回数

1

1~2147483647(回)

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

再配信間隔

5000

1~2147483647(ミリ秒)

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

タイマーデータソース

jdbc/__TimerPool

文字列

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

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

  

  

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

その他

セッション格納位置

${com.sun.aas.instanceRoot}/session-store

文字列

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

追加プロパティ

  

  

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

※:IJServerクラスタの再起動が必要かどうかを示しています。
    ○:再起動必要、×:再起動不要

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インスタンスはプールサイズを調整しません。

関連情報

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

内容

参照先

機能説明

3.6 EJBの提供機能

チューニング方法

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

コマンド

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

asadminコマンドでの定義項目名

11.18.3.7 configs.config.ejb-containerの定義項目