ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

D.1.5 Entity Beanのチューニング

Interstage Java EEではEntity Beanインスタンスの管理でコミットオプションB(トランザクション間にレディーインスタンスをキャッシュする)を使用しています。
Beanインスタンスのキャッシュには2種類の状態が存在します。

Entity BeanインスタンスのライフサイクルはEJBの規約に説明されています。
Entityオブジェクトのアイデンティティーと関連付けられているEntity BeanインスタンスはStateful Session Beanと同様にキャッシングされます。ただし、Entity Beanインスタンスはデータベースにpassivateされます、passivateの選択内容の削除ポリシーとしては常にFIFOポリシーが使用されます。削除タイムアウトは動作しません。またpassivateされる閾値が異なります(「Entity BeanとStateful Sesesion Beanのキャッシングの相違点」参照)。その他のチューニング項目については、「9.8.8 EJBコンテナの定義項目」の「Enterprise Beanインスタンスのキャッシング」を参照してください。
Entityオブジェクトのアイデンティティーと関連付けられていないBeanインスタンスはStateless Session BeanとMessage-driven Beanと同様にプーリングされます。チューニング項目については、「9.8.8 EJBコンテナの定義項目」の「Enterprise Beanインスタンスのプーリング」を参照してください。


Entity BeanとStateful Sesesion Beanのキャッシングの相違点

以下の表でEntity BeanとStateful Sesesion Beanのキャッシングの相違点を説明します。

  

Entity Bean

Stateful Session Bean

最大キャッシュサイズの閾値

Entity Beanの閾値」を参照してください。

9.8.8 EJBコンテナの定義項目」の「Enterprise Beanインスタンスのキャッシング」を参照してください。

最大キャッシュサイズに0を入力した場合の最大キャッシュサイズ

8192
※最大キャッシュサイズに8193以上の値を指定することもできます。その場合には指定された値が最大キャッシュサイズとなります。

無限大

キャッシュアイドルタイムアウトによるpassivate

対象のインスタンスは1個を残してすべてpassviateされます。

対象のインスタンスがすべてpassivateされます。


Entity Beanの閾値

最大キャッシュサイズの項目にある閾値の算出はStateful Session BeanとEntity Beanで異なります。Entity Beanの閾値は以下の式で算出されています。(入力する数値によっては多少誤差が出ます)