EJBコンテナに関する設定について説明します。
EJBコンテナに関する設定項目には次のものがあります。
EJBインスタンスプール
EJBインスタンスキャッシュ
Entity Beanトランザクションコミットオプション
組み込みIIOPリスナ
それぞれ設定項目については全てMO化されています。項目の設定方法については「2.各サービスの属性の設定」を参照してください。
Standard/Enterprise EditionではEJBはTPモニタのプロセスグループ上で動作します。このためTPモニタの設定に影響されます。詳しくはTPモニタの設定の章を参照してください。
組み込みIIOPリスナとは、Standard-J EditionにおけるEJBに対する要求や、JNDIサーバに対するRMI-IIOPのリクエストを処理するリスナです。これはエージェントプロセス内で動作します。EJBやJNDIサーバに対する通信ポート番号やSSLの使用の有無などを設定する場合は、この組み込みIIOPリスナの設定を変更してください。
Standard/Enterprise EditionにおけるEJBの通信リスナはTPモニタのIIOPリスナとなりますのでそちらの設定に従います。このため、組み込みIIOPリスナの設定はJNDIサーバに対してのみ有効となります。
既定値ではEJBコンテナとJNDIサーバに対する通信ポートは7780となります。
組み込みIIOPリスナのMO名は「embedded-iiop-service」、それ以外の上記3つに対応するMO名は「ejb-container」です。
以下はMOで設定可能なEJBコンテナ設定項目一覧です。
Dottedname : server.ejb-container
| 属性名 (attribute-name) |
説明 | 既定値 |
|---|---|---|
| steady-pool-size |
Beanインスタンスの初期値を指定します。この値がプールで保持されます。0からint型の最大値を指定することができます。 (注:この項目はStandard-J Editionのみ設定可能です。) |
0 |
| pool-resize-quantity |
サーバがプールを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。 (注:この項目はStandard-J Editionのみ設定可能です。) |
8 |
| max-pool-size |
Beanインスタンスプールの最大値を指定します。0からint型の最大値を指定することができます。0を指定するとプールサイズが無制限となります。 (注:この項目はStandard-J Editionのみ設定可能です。) |
32 |
| pool-idle-timeout-in-seconds | ステートレスセッションBeanやMDBがアイドル状態でプール内に存在できる最大時間を指定します。この時間を過ぎると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がファイルとして保持される場所を指定します。 | ${INSTANE_ROOT}/session-store |
Dottedname : server.embedded-iiop-service
| 属性名 (attribute-name) |
説明 | 既定値 |
|---|---|---|
| enabled | 組み込みIIOPリスナを有効にするかどうかを指定します。 | true |
| port | 暗号化しない通信を行うときに使用するポート番号を指定します。 |
0 0は自動割当を示す |
| ssl-port | SSLクライアント認証なしの通信を行うときに利用するポート番号を指定します。 | null |
| ssl-auth-port | SSLクライアント認証ありの通信を行うときに利用するポート番号を指定します。 | null |
| max-accept-number | 同時クライアント接続数を指定します。 | null(制限無し) |
| client-timeout | クライアント無通信監視タイマ時間(秒)を指定します。 | 0(監視無し) |
| cert-key | サーバ側のSecureWare/セキュリティパックにて登録済みの鍵を特定する鍵IDまたはJSSEで使用するサーバ証明書のファイル名を指定します。 | null |
| cert-key-pass-phrase | JSSEで使用するサーバ証明書のパスワードを指定します。 | null |
| cart-key-type | JSSEで使用するサーバ証明書の鍵の形式(RSA, DSAなど)を指定します。 | null |
| cert-key-file-type | JSSEで使用するサーバ証明書のファイルの形式(PKCS12もしくはJKS)を指定します。 | null |
| 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 2.1仕様ではコンテナ管理のタイマ機能が新たに追加されました。
WebOTXでこのタイマ機能を使用するためには、タイマ機能で使用するデータソースとデータベースのテーブルが必要となります。インストール時にはこれらは設定されていませんので、タイマ機能を使用するためには以下の手順でセットアップを行なう必要があります。
(1) データソースの登録
タイマを使用するドメインに対して "jdbc/__TimerPool" という名前のデータソースを追加してください。また対応するJDBCドライバをドメインのクラスパスに追加してください。
(2) テーブルの作成
${AS_INSTALL}/lib/install/databasesにOracle用とPointBase用のテーブル作成用SQLファイルがありますので、これを使用して追加したデータソースで接続するデータベース上にテーブルを作成してください。他のデータベースを使用する場合もこのSQLを参考にして同じテーブル名、カラム名でテーブルを作成してください。
(3) ドメイン再起動
ドメインを再起動すると、タイマ機能が使用可能になります。
Standard/Enterprise EditionではEJBはWebコンテナとは別のJava VM上で実行されます。また、プロセスグループが異なるEJBも別々のJava VM上で実行されます。
ドメインに定義されたリソースアダプタ、コネクタリソース、JDBCデータソースは既定値ではコンテナの動作している全Javaプロセス上でロードされます。例えばJDBCデータソースの初期接続数を1に設定していても、Webコンテナ + EJBのプロセスグループのプロセス数分だけ初期接続が張られることになります。そのリソースを使用していないプロセスでは無駄に接続が張られることになってしまいます。
この場合は、リソースアダプタ、コネクタリソース、JDBCデータソース、プロセスグループの以下の属性を設定して使用するプロセスを絞り込んでください。プロセスグループの設定の方はリソースの配備、追加時には自動的に追加されます。
リソースアダプタ、コネクタリソース、JDBCデータソースの属性
| 属性名 (attribute-name) |
説明 | 既定値 |
|---|---|---|
| use-jmx-agent | リソースをJMXエージェント上でロードするかどうかを指定します | Webコンテナがマルチプロセスモードで動作していればfalse、そうでなければtrue |
| use-all-ejb-processgroups |
全てのEJBプロセスグループで使用するか、または各プロセスグループの属性でロードする、しないの指定を行なうかどうかを選択します。 全てのEJBプロセスグループで使用するを選択した場合、全プロセスグループのロードするリソースアダプタの設定に自動的にこのリソースが追加されます。 |
true |
プロセスグループの属性
| 属性名 (attribute-name) |
説明 | 既定値 |
|---|---|---|
| datasourceList | プロセスグループの起動時にロードするデータソースのリストを表示します。そのプロセスグループ上で動作するEJBが使用するデータソースのJNDI名を選択してください。 | Null |
| connectorResourceList | プロセスグループの起動時にロードするコネクタリソースのリストを表示します。そのプロセスグループ上で動作するEJBが使用するコネクタリソースのJNDI名を選択してください。 | Null |
| resourceAdapterList | プロセスグループの起動時にロードするリソースアダプタのリストを表示します。そのプロセスグループ上で動作するEJBが使用するリソースアダプタの名前を選択してください。 | null |