Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド

- Previous: Web コンテナセッションの設定
- Next: メッセージ駆動型 Bean 設定の設定

## 一般的な EJB 設定の設定

この節では、サーバー上のすべての Enterprise JavaBean コンテナに適用される、次の設定を説明します。

- 「セッション格納位置」

- 「EJB プールを設定する」

- 「EJB キャッシュを設定する」

デフォルト値をコンテナ別にオーバーライドするには、`sun-ejb-jar.xml` ファイル内で Enterprise JavaBeans の値を調整します。詳細については、『Application Server 開発者ガイド』を参照してください。

### セッション格納位置

「セッション格納位置」フィールドは、ファイルシステムで非活性化された Beans と持続的な HTTP セッションが保存されるディレクトリを指定します。

非活性化された Beans とは、ファイルシステムのファイルに状態を書き込まれた Enterprise JavaBeans です。非活性化された Beans は、通常、特定の時間内のアイドル状態にあり、現在クライアントによってアクセスされていません。

非活性化された Beans と同じく、持続的な HTTP セッションはファイルシステム上のファイルに状態を書き込まれた個別の Web セッションです。

「コミットオプション」フィールドで、コンテナがトランザクション間の非活性化されたエンティティー Bean インスタンスをキャッシュする方法を指定します。

オプション B はトランザクション間のエンティティー Bean インスタンスをキャッシュし、デフォルトで選択されます。オプション C はキャッシュを無効にします。

### EJB プールを設定する

Beans の作成によってパフォーマンスに影響を受けることなく、クライアントの要求に応答するために、コンテナは Enterprise JavaBeans のプールを保持します。これらの設定は、ステートレスセッション Beans とエンティティー Beans だけに適用されます。

配備した Enterprise JavaBeans を使用するアプリケーションでパフォーマンス上の問題がある場合は、プールを作成したり、既存のプールで保持される Beans の数を増やしたりすることによって、アプリケーションのパフォーマンスを向上させることができます。

デフォルトで、コンテナは Enterprise JavaBeans のプールを保持しています。

##### 手順

1. ツリーコンポーネントで、「設定」ノードを選択します。

2. 設定するインスタンスを選択します。

   - 特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス `server` の場合は、`server-config` ノードを選択します。

   - すべてのインスタンスのデフォルト値を設定するには、`default-config` ノードを選択します。

3. 「EJB コンテナ」ノードを選択します。

4. 「初期および最小プールサイズ」フィールドの「プール設定」で、コンテナがプールで作成する Beans の最小数を入力します。

5. 「最大プールサイズ」フィールドで、コンテナが一度にプール内に保持する Beans の最大数を入力します。

6. 「プールサイズ変更量」フィールドに、「プールアイドルタイムアウト」フィールドで指定した時間を超えて Beans がアイドル状態になった場合にプールから削除される Beans の数を入力します。

7. 「プールアイドルタイムアウト」フィールドに、プール内の Bean がプールから削除される前にアイドル状態でいられる時間を秒単位で入力します。

8. 「保存」をクリックします。

9. Application Server を再起動します。

### EJB キャッシュを設定する

コンテナは、もっともよく使われる Enterprise JavaBeans の Enterprise JavaBean データのキャッシュを保持します。これにより、コンテナはその Enterprise JavaBeans のデータに対するほかのアプリケーションモジュールからの要求により速く応答できます。この節が適用されるのは、ステートフルセッション Beans とエンティティー Beans だけです。

キャッシュされた Enterprise JavaBeans は、アクティブ、アイドル、非活性化の 3 つのうち、いずれかの状態になっています。アクティブな Enterprise JavaBean には、現在クライアントがアクセスしています。アイドル Enterprise JavaBeans のデータは現在キャッシュにありますが、この Bean にアクセスしているクライアントはありません。非活性化 Bean のデータは一時的に保存されていて、クライアントが Bean を要求した場合はキャッシュに読み込まれます。

##### 手順

1. ツリーコンポーネントで、「設定」ノードを選択します。

2. 設定するインスタンスを選択します。

   - 特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス `server` の場合は、`server-config` ノードを選択します。

   - すべてのインスタンスのデフォルト値を設定するには、`default-config` ノードを選択します。

3. 「EJB コンテナ」ノードを選択します。

4. 「最大キャッシュサイズ」フィールドで最大キャッシュサイズを調整します。

   Bean の作成と破棄のオーバーヘッドをなくすために、キャッシュする Beans の最大数を大きくします。ただし、キャッシュを大きくした場合、サーバーはより大きなメモリーとリソースを消費します。キャッシュ設定に対して動作環境が十分であることを確認してください。

5. 「キャッシュのサイズ変更量」フィールドで、キャッシュのサイズ変更量を調整します。

   キャッシュされた Beans の最大数に達すると、コンテナは複数の非活性化 Beans を、デフォルトで 32 に設定されたバックアップストアから削除します。

6. 「キャッシュアイドルタイムアウト」フィールドで、エンティティー Beans にスケジュールされたキャッシュクリーンアップの間隔を秒単位で調整します。

   キャッシュされたエンティティー Bean が一定時間アイドル状態になった場合、Bean は非活性化されます。つまり、その Bean の状態がバックアップストアに書き込まれます。

7. 「削除タイムアウト」フィールドで、ステートフルセッション Beans をキャッシュストアまたは非活性化ストアから削除する時間を秒単位で調整します。

8. 「選択内容の削除ポリシー」フィールドで、コンテナがステートフルセッション Beans を削除するために使用するポリシーを設定します。

   「選択内容の削除ポリシー」フィールドに設定されたポリシーに基づいて、コンテナは削除するステートフルセッション Beans を決定します。コンテナがキャッシュから Beans を削除するために使えるポリシーには次の 3 つがあります。

   - 最近使用されていない (NRU)

   - ファーストインファーストアウト (FIFO)

   - 最近の使用頻度がもっとも低い (LRU)

   NRU ポリシーでは、最近使われていない Bean を削除します。FIFO ポリシーでは、キャッシュ内でもっとも古い Bean を削除します。LRU ポリシーでは、最近もっともアクセスされていない Bean を削除します。デフォルトでは、コンテナがNRU ポリシーを使うように設定されています。

   エンティティー Beans は常に FIFO ポリシーを使って削除されます。

9. 「保存」をクリックします。

10. Application Server を再起動します。

- Previous: Web コンテナセッションの設定
- Next: メッセージ駆動型 Bean 設定の設定

- © 2010, Oracle Corporation and/or its affiliates