Hitachi

Cosminexus V11 アプリケーションサーバ アプリケーション設定操作ガイド


9.10.1 Stateful Session Beanの実行時プロパティの設定

アプリケーションを構成する個々のStateful Session Beanに対して,アプリケーション実行時のプロパティを設定します。

〈この項の構成〉

(1) 編集する属性ファイル

Session Bean属性ファイル

(2) 編集する属性ファイルの取得と属性の設定

(3) 編集する属性設定項目

Stateful Session Beanの実行時プロパティは,次の二つに分けられます。

ぞれぞれの設定項目を次に示します。

(a) Session Bean共通の実行時属性

Session Bean共通の実行時属性(<runtime>)のプロパティ設定項目を,次に示します。

項目

必須

対応するタグ名

Enterprise Beanのルックアップ名※1

<lookup-name>

リモートインタフェースを持つEnterprise Bean名の別名※1

<optional-name>

ローカルインタフェースを持つEnterprise Bean名の別名※1

<local-optional-name>

セッション最大数※2

<maximum-sessions>

参照渡しの設定※3

<pass-by-reference>

(凡例) ○:必須 △:任意

注※1

JNDI名前空間に登録される名称の参照と変更については,「9.13.2 Enterprise Bean名の参照と変更」を参照してください。

注※2

Stateful Session Beanに指定された最大セッション数は,EJBクライアントアプリケーションから利用できるStateful Session Beanの最大数です。「0」を指定した場合,同時に生成できるStateful Session Beanのセッション(EJBオブジェクト)の数は無制限(実際の最大値は2147483647)になります。

注※3

参照渡しの設定は,usrconf.propertiesファイルでも実施できます。プロパティまたはusrconf.propertiesファイルのどちらかで設定されていれば,参照渡しの設定は有効になります。

プロパティの設定項目については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「3.4.1 Session Bean属性ファイルの指定内容」を参照してください。

(b) Stateful Session Bean固有の属性

Stateful Session Bean固有の実行時属性(<runtime> - <stateful>)のプロパティ設定項目を,次に示します。

項目

必須

対応するタグ名

アクティブセッションの最大数

<maximum-active-sessions>

再び活性化するまでに,非活性化状態に保持している時間

<inactivity-timeout>

セッションが削除されるまでに非活性化状態に保持している時間

<removal-timeout>

(凡例) ○:必須

プロパティの設定項目については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「3.4.1 Session Bean属性ファイルの指定内容」を参照してください。

プロパティ項目の設定と動作について,次に説明します。

アクティブセッションの最大数

生成されたStateful Session Beanの状態には,次の二つの状態があります。

  • method-ready状態

  • passive状態

method-ready状態のStateful Session Beanは,EJBクライアントアプリケーションからアクセスされた時点ですでに実行できるようになっています。

passive状態のStateful Session Beanは,活性化されmethod-ready状態になってから実行できます。

アクティブセッションの最大数に,同時にmethod-ready状態になることができるStateful Session Beanの最大数を指定します。この値は,複数のEJBクライアントアプリケーションからアクセスされたときに,すぐに実行開始できるStateful Session Beanの最大数です。ここで指定した数以上のStateful Session Beanが生成された場合,method-ready状態のStateful Session Beanが幾つか非活性化されpassive状態になります。ただし,このとき,method-ready状態のStateful Session Beanの中でトランザクション中のものについては,非活性化の対象になりません。セッション最大数,またはアクティブセッションの最大数に「0」を指定した場合は,非活性化の機能は動作しません(Stateful Session Beanがmethod-ready状態からpassive状態に移りません)。

再び活性化するまでに,非活性化状態に保持している時間(デフォルト:0(分))

タイムアウト値を分単位で指定します。ここで指定された時間が経過するまでにpassive状態のStateful Session Beanが活性化されない場合,このBeanは削除されます。再び活性化するまでに,非活性化状態に保持している時間に「0」を設定した場合は,タイムアウトは発生しません。また,Stateful Session Beanのインスタンスの削除は,指定した<inactivity-timeout>値に対し,最大でejbserver.container.passivate.scan.intervalに指定した時間分の遅延が生じることがあります。この起動間隔を変更したい場合は,usrconf.propertiesファイルのシステムプロパティejbserver.container.passivate.scan.intervalに起動間隔を秒単位で指定してください。デフォルトでは0秒が設定されています。ejbserver.container.passivate.scan.intervalの指定例を次に示します。

10分間隔でpassive状態のStateful Session Beanの削除機能を起動したい場合

ejbserver.container.passivate.scan.interval=600
セッションが削除されるまでに非活性化状態に保持している時間(デフォルト:0(分))

タイムアウト値を分単位で指定します。method-ready状態のStateful Session Beanがここで指定された時間の間,一度も使用されない場合,このBeanは削除されます。ただし,このとき,method-ready状態のStateful Session Beanの中でトランザクション中のものについては,削除の対象になりません。

セッションが削除されるまでに非活性化状態に保持している時間に「0」を設定した場合は,タイムアウトは発生しません。また,Stateful Session Beanのインスタンスの削除は,指定した<removal-timeout>値に対し,最大でejbserver.container.remove.scan.intervalに指定した時間分の遅延が生じることがあります。この起動間隔を変更したい場合は,J2EEサーバ用のusrconf.propertiesファイルのejbserver.container.remove.scan.intervalに起動間隔を分位で指定してください。デフォルト値には5分が仮定されています。ejbserver.container.remove.scan.intervalの指定例を次に示します。

10分間隔でmethod-ready状態のStateful Session Beanの削除機能を起動したい場合

ejbserver.container.remove.scan.interval=10

(4) 注意事項