この節では、サーバー上のすべての Enterprise JavaBean コンテナに適用される、次の設定を説明します。
「セッション格納位置」フィールドは、ファイルシステムで非活性化された Beans と持続的な HTTP セッションが保存されるディレクトリを指定します。
非活性化された Beans とは、ファイルシステムのファイルに状態を書き込まれた Enterprise JavaBeans です。非活性化された Beans は、通常特定の時間内のアイドル状態にあり、現在クライアントによってアクセスされていません。
非活性化された Beans と同じく、持続的な HTTP セッションはファイルシステム上のファイルに状態を書き込まれた個別の Web セッションです。
「コミットオプション」フィールドで、コンテナがトランザクション間の非活性化されたエンティティ Bean インスタンスをキャッシュする方法を指定します。
オプション B はトランザクション間のエンティティ Bean インスタンスをキャッシュし、デフォルトで選択されます。オプション C はキャッシングを無効にします。
Beans の作成によってパフォーマンスに影響を受けることなく、クライアントの要求に応答するために、コンテナは Enterprise JavaBeans のプールを保持します。これらの設定は、ステートレスセッション Beans とエンティティ Beans にだけ適用されます。
配備した Enterprise JavaBeans を使用するアプリケーションでパフォーマンス上の問題がある場合、プールを作成したり、既存のプールで保持される Beans の数を増やしたりすることによって、アプリケーションのパフォーマンスを向上させることができます。
デフォルトで、コンテナは Enterprise JavaBeans のプールを保持しています。
Enterprise JavaBeans のコンテナのプールの設定を調整するには、次の手順に従います。
コンテナは、最もよく使われる Enterprise JavaBeans の Enterprise JavaBean データのキャッシュを保持します。これにより、コンテナはその Enterprise JavaBeans のデータに対するほかのアプリケーションモジュールからの要求により速く応答できます。この節が適用されるのは、ステートフルセッション Beans とエンティティ Beans だけです。
キャッシュされた Enterprise JavaBeans は、アクティブ、アイドル、または非活性化の 3 つのうち、いずれかの状態になっています。アクティブな Enterprise JavaBean には、現在クライアントがアクセスしています。アイドル Enterprise JavaBean のデータは現在キャッシュにありますが、この Bean にアクセスしているクライアントはありません。非活性化 Bean のデータは一時的に保存されていて、クライアントが Bean を要求した場合はキャッシュに読み込まれます。
キャッシュされた Enterprise JavaBeans の設定を調整するには、次の手順に従います。
Bean の作成と破棄のオーバーヘッドをなくすために、キャッシュする Beans の最大数を大きくします。ただし、キャッシュを大きくした場合、サーバーはより大きなメモリとリソースを消費します。キャッシュ設定に対して動作環境が十分であることを確認してください。
キャッシュされた Beans の最大数に達すると、コンテナは複数の非活性化 Beans を、デフォルトで 32 に設定されたバックアップストアから削除します。
キャッシュされたエンティティ Bean が一定時間アイドル状態になった場合、Bean は非活性化されます。つまり、その Bean の状態がバックアップストアに書き込まれます。
「選択内容の削除ポリシー」フィールドに設定されたポリシーに基づいて、コンテナは削除するステートフルセッション Beans を決定します。コンテナがキャッシュから Beans を削除するために使えるポリシーには次の 3 つがあります。
NRU ポリシーでは、最近もっとも使われていない Bean を削除します。FIFO ポリシーでは、キャッシュ内でもっとも古い Bean を削除します。LRU ポリシーでは、最近もっともアクセスされていない Bean を削除します。デフォルトでは、コンテナがNRU ポリシーを使うように設定されています。
エンティティ Beans は常に FIFO ポリシーを使って削除されます。
関連項目