5. EJBコンテナ

EJBコンテナに関する設定について説明します。

5.1. EJBコンテナ設定項目・設定方法

EJBコンテナに関する設定項目には次のものがあります。

EJBインスタンスプール

EJBインスタンスキャッシュ

Entity Beanトランザクションコミットオプション

組み込みIIOPリスナ

それぞれ設定項目については全てMO化されています。項目の設定方法については「各サービスの属性」を参照してください。

エディションによる違い

Standardでアプリケーションをプロセスグループに配備した場合はEJBはTPモニタのプロセスグループ上で動作します。このためTPモニタの設定に影響されます。詳しくはTPモニタの設定の章を参照してください。

組み込みIIOPリスナについて

組み込みIIOPリスナとは、ExpressにおけるEJBに対する要求や、JNDIサーバに対するRMI-IIOPのリクエストを処理するリスナです。これはエージェントプロセス内で動作します。EJBやJNDIサーバに対する通信ポート番号やSSLの使用の有無などを設定する場合は、この組み込みIIOPリスナの設定を変更してください。

Standardでアプリケーションをプロセスグループに配備した場合におけるEJBの通信リスナはTPモニタのIIOPリスナとなりますのでそちらの設定に従います。このため、組み込みIIOPリスナの設定はJNDIサーバに対してのみ有効となります。

既定値ではEJBコンテナとJNDIサーバに対する通信ポートは7780となります。

組み込みIIOPリスナのMO名は「embedded-iiop-service」、それ以外の上記3つに対応するMO名は「ejb-container」です。

5.2. EJBコンテナ設定項目一覧

以下はMOで設定可能なEJBコンテナ設定項目一覧です。

Dottedname : server.ejb-container

EJBコンテナ MBean属性一覧
属性名
(attribute-name)
説明 既定値
steady-pool-size Beanインスタンスの初期値を指定します。この値がプールで保持されます。0からint型の最大値を指定することができます。
0
pool-resize-quantity サーバがプールを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。
8
max-pool-size Beanインスタンスプールの最大値を指定します。0からint型の最大値を指定することができます。0を指定するとプールサイズが無制限となります。
32
pool-idle-timeout-in-seconds ステートレスセッションBeanおよびエンティティBeanがアイドル状態でプール内に存在できる最大時間を指定します。この時間を過ぎるとBeanインスタンスは削除されます。 600(s)
cache-resize-quantity サーバがキャッシュを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。 32
max-cache-size キャッシュに格納できるBeanインスタンスの最大値を指定します。0を指定するとキャッシュできるBean数は無制限になります。 512
cache-idle-timeout-in-seconds ステートフルセッションBeanやMDBがアイドル状態でキャッシュ内に存在できる最大時間を指定します。この時間を過ぎるとBeanはバックアップストアで非活性化されます。 600(s)
removal-timeout-in-seconds ステートフルセッションBeanが非活性化される時間を指定します。この時間を過ぎてもアクセスされなかった場合、Beanは削除されクライアントからアクセスできなくなります。 5400(s)
victim-selection-policy ステートフルセッションBeanのキャッシュから削除対象を特定するアルゴリズムを指定します。FIFO/LRU/NRUのいずれかを指定します。 nru
commit-option エンティティBeanのトランザクションコミットオプションの指定をします。BまたはCのいずれかを指定します。 B
session-store 非活性化されたBeanがファイルとして保持される場所を指定します。 ${INSTANCE_ROOT}/session-store
initial-pool 初期プールを作るかどうかを指定します。trueの場合、配備後やプロセス起動時に通常プールサイズ個のインスタンスが作成されます。 true

Dottedname : server.mdb-container

MDBコンテナ MBean属性一覧
属性名
(attribute-name)
説明 既定値
steady-pool-size Beanインスタンスの初期値を指定します。この値がプールで保持されます。0からint型の最大値を指定することができます。
0
pool-resize-quantity サーバがプールを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。
8
max-pool-size Beanインスタンスプールの最大値を指定します。0からint型の最大値を指定することができます。0を指定するとプールサイズが無制限となります。
32
idle-timeout-in-seconds MDBがアイドル状態でプール内に存在できる最大時間を指定します。この時間を過ぎるとBeanインスタンスは削除されます。 600(s)
initial-pool 初期プールを作るかどうかを指定します。trueの場合、配備後やプロセス起動時に通常プールサイズ個のインスタンスが作成されます。 true

Dottedname : server.embedded-iiop-service

組み込みIIOPサービス MBean属性一覧
属性名
(attribute-name)
説明 既定値
enabled 組み込みIIOPリスナを有効にするかどうかを指定します。 true
port 暗号化しない通信を行うときに使用するポート番号を指定します。 7780
0は自動割当を示す
ssl-port SSLクライアント認証なしの通信を行うときに利用するポート番号を指定します。 -1
ssl-auth-port SSLクライアント認証ありの通信を行うときに利用するポート番号を指定します。 -1
max-accept-number 同時クライアント接続数を指定します。 -1(制限無し)
client-timeout クライアント無通信監視タイマ時間(秒)を指定します。 0(監視無し)
cert-key サーバ側のSecureWare/セキュリティパックにて登録済みの鍵を特定する鍵IDまたはJSSEで使用するサーバ証明書のファイル名を指定します。 null
cert-key-pass-phrase JSSEで使用するサーバ証明書のパスワードを指定します。 null
cart-key-type JSSEで使用するサーバ証明書の鍵の形式(RSA, DSAなど)を指定します。 DSA
cert-key-file-type JSSEで使用するサーバ証明書のファイルの形式(PKCS12もしくはJKS)を指定します。 PKCS12
cert-alias JSSEで使用するサーバ証明書の鍵の別名を指定します。 null
cert-alias-pass-phrase JSSEで使用するサーバ証明書の鍵の別名のパスワードを指定します。 null
trusted-ca-certs JSSEで使用する信頼するCA証明書のファイル名を指定します。 null
trusted-ca-certs-pass-phrase JSSEで使用する信頼するCA証明書のファイルのパスワードを指定します。 null
trusted-ca-certs-file-type JSSEで使用する信頼するCA証明書のファイルの形式(PKCS12もしくはJKS)を指定します。 null

※ これらプールに関する設定は、ローカルインタフェースおよびローカルビジネスインタフェースを持つEJBに対しては全エディションで有効ですが、リモートインタフェースおよびリモートビジネスインタフェースを持つ EJBに対しては、Expressでのみ有効です。Standardでアプリケーションをプロセスグループに配備した場合におけるプールの設定については、[ EJBコンテナ ]を参照してください。

5.3. タイマBeanの使用方法について

EJB 2.1仕様でコンテナ管理のタイマ機能が新たに追加されました。

WebOTXでこのタイマ機能を使用するためには、タイマ機能で使用するデータソースとデータベースのテーブルが必要となります。インストール時にはこれらは設定されていませんので、タイマ機能を使用するためには以下の手順でセットアップを行う必要があります。

(1) データソースの登録

タイマを使用するドメインに対して "jdbc/__TimerPool" という名前のデータソースを追加してください。また対応するJDBCドライバをドメインのクラスパスに追加してください。

(2) テーブルの作成

${AS_INSTALL}/lib/install/databasesにOracle、Derby、DB2、SQL Server、Sybase用のテーブル作成SQLファイルがありますので、これを使用して追加したデータソースで接続するデータベース上にテーブルを作成してください。他のデータベースを使用する場合もこのSQLを参考にして同じテーブル名、カラム名でテーブルを作成してください。

(3) ドメイン再起動

ドメインを再起動すると、タイマ機能が使用可能になります。