次の例は、プロパティを設定するためのさまざまな方法を示しています。この最初の例では、コマンド ラインによってプロパティを書き換えます。2 番目の例では、公開および既定プロパティ ファイルでプロパティを設定します。3 番目の例では、公開済み Bean のレベルでプロパティを設定変更します。4 番目の例では、コマンド ラインから Bean レベルのプロパティを設定変更します。

コマンド ラインによる書き換え

この例では、ejb.sessionTimeout プロパティを書き換えます。この例では、
JRUN_HOME/libejipt.properties ファイルで ejb.sessionTimeout が 900 (秒) に設定されていると想定します。この例では、EJB エンジンが起動したときにコマンド ラインで -Dejb.sessionTimeout=300 とパラメータを設定することによって、実行時にこの値を 300 に変更します。

> cd JRUN_HOME
> java -Dejb.sessionTimeout=300 -classpath lib/ejipt.jar
  allaire.ejipt.Ejipt 

また、統合 J2EE サーバーの実行時に global.propertiesejb.javaargs プロパティまたは local.properties ファイルでコマンドライン引数を指定することによって、それらの引数を使用できます。

このコマンド ラインによって、サーバー プロパティ リストに ejb.sessionTimeout プロパティとその値 300 が追加され、次の図に示すように ejipt.properties ファイルから取得した値 900 を書き換えます。

公開済み Bean から
EJBContext.getEnvironment().getProperty(“ejb.sessionTimeout”) 呼び出すと、プロパティ リスト チェーン内でこの値が最初に検出されるため、値 300 が返されます。

プロパティ ファイルによる書き換え

さらに、この例では container1ejb.sessionTimeout を書き換え、
default.properties ファイルの値を 300 に設定します。また、deploy.properties を使用してサーバー セッション タイムアウトを設定します。この例では、
ejipt.properties ファイルで ejb.sessionTimeout が 900 (秒) に設定されていると想定します。

container1default.properties に次のプロパティが設定されています。

ejb.sessionTimeout=1800

deploy.properties ファイルには次のプロパティが設定されています。

ejb.sessionTimeout=300

次の図は、結果として作成されたプロパティ リストを示しています。

これにより、container1 内にあるすべての Bean の ejb.sessionTimeout 値は 1800 に設定され、それ以外のコンテナ内にある公開済み Bean の ejb.sessionTimeout 値は 300 に設定されます。

Bean プロパティによる書き換え

この例では、公開済み Bean のレベルでプロパティを書き換えます。ejipt.properties ファイルでプロパティ ejb.isReentrantfalse に設定されていると想定します
(注意 : この特定のプロパティでは、ステートフル セッション Bean とエンティティ Bean の既定の設定は false です)。また、Looper の名前を持つ公開済み Bean があり、その Looper が再入可能であると想定します。Looper でこの動作を妨げないように EJB エンジンに指示するには、Looper Bean の公開記述子内で ejb.isReentranttrue に設定する env-entry を確立します。

次の図は、結果として作成されたプロパティ リストを示しています。

Looper が公開されると、サーバーはそのプロパティ リストを作成します。プロパティ ejb.isReentrant=trueLooper のプロパティ リストに追加されます。これにより、EJBContext.getEnvironment().getProperty("ejb.isReenterant") を呼び出したとき Looper のすべてのインスタンスについて true が返され、それ以外の Bean には false が返されます。このメカニズムを使用して、プロパティ ファイルで定義されたか XML 記述子ファイルで定義されたかにかかわらず、プロパティを書き換えることができます。

実行時 Bean プロパティによる書き換え

この例では、スタンドアロン EJB エンジンから bean2 という名前の EJB の
ejb.sessionTimeout を書き換えます。コマンド ラインから Bean のプロパティを書き換えるには、プロパティの前に Bean のホーム名を付けます。また、このステップでは Bean の公開記述子で設定された任意のプロパティを書き換えます。
ejipt.properties ファイルで ejb.sessionTimeout が 900 (秒) に設定されており、bean2.properties ファイルで次のように設定されていると想定します。

ejb.sessionTimeout=1800

スタンドアロン EJB エンジンの実行時のタイムアウト値を 300 に設定するには、スタンドアロン EJB エンジンが起動したときにコマンド ラインで
-Dbean2Home.ejb.sessionTimeout=300 パラメータを設定します。この場合、bean2 はホーム名が bean2Home で公開されると想定しています。

> cd JRUN_HOME
> java -Dbean2Home.ejb.sessionTimeout=300 -classpath 
  lib/ejipt.jar allaire.ejipt.Ejipt 

次の図は、結果として作成されたプロパティ リストを示しています。

bean2 を除くすべての Bean の ejb.sessionTimeout 値は 900 に設定され、bean2 の ejb.sessionTimeout 値は 300 に設定されます。