WebSphere Application Server - Express for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

アプリケーションのパフォーマンスとエンティティー Bean の動作

WebSphere Application Server では、EJB 仕様で必要な 2 つの動作をオーバーライドすることができます。 これは、アプリケーションが、これらの Bean データ管理を少し異なる方法で処理することにより 利益を得る可能性があるためです。

findBy メソッドのアプリケーション管理パーシスタント・ストアの同期

EJB 2.0 および 2.1 仕様のセクション 10.5.3 および 12.1.4.2 では、 任意の findBy メソッド (findByPrimaryKey を除く) の一部として照会を実行する前に、 EJB コンテナーが永続ストレージに、 現在のトランザクションに参加するタイプのエンティティー Bean の状態を書き込みます。 つまり、コンテナーは以下のアクションを実行します。
  1. 現在のトランザクションに参加し、 かつ、findby メソッドが戻しているタイプと同じである Bean のリストを作成します。
  2. 照会を実行する前に、これらのエンタープライズ Bean の状況を永続ストレージに保管します。
EJB インスタンスの状態が現在のトランザクションで変更されない場合、 そのインスタンスの保管操作はスキップされます。これを実行することにより、 すべての永続データが最新の状態で照会が実行され、 データ保全性に関する問題の可能性が削減されます。

ただし、 EJB コンテナーがすべての findBy メソッドでこのアクションを自動的に実行することが 非効率的で浪費的となるシナリオもあります。この例としては、 findBy 照会で最新データが使用されることをアプリケーション自体が確認する場合や、 アプリケーションが、照会結果の一部として現在以外のデータを許容できる場合があります。

WebSphere Application Server により、アプリケーション制御下で同期化処理を開始したり、 ご使用のアプリケーション内で特定の EJB タイプに対して、コンテナー管理された同期を使用不可にしたり することができます。 これらの機能を注意して使用することにより、データ保全性を犠牲にすることなく、 ご使用のアプリケーションのパフォーマンスを向上させることができます。詳細は、エンティティー Bean およびデータ・ストアの同期の操作 で取り上げています。

未変更エンティティー Bean インスタンス上での ejbStore 呼び出しの回避

EJB 仕様では、EJB コンテナーは、トランザクションがコミットされるときに、 そのトランザクション内のすべてのエンティティー Bean 上でユーザー提供の ejbStore メソッドを 呼び出す必要があります。コンテナー管理パーシスタンス (CMP) Bean (Bean 管理パーシスタンスではなく) の場合、CMP Bean 上のこのメソッドは空であることが多いため、 通常、この操作は必要ありません。メソッドが空ではない場合でも、 アプリケーションでは、 現行トランザクション中に Bean の永続状態が変更される場合にのみ、 このメソッドが呼び出される必要があります。

WebSphere Application Server は、 この動作が、アプリケーション内の特定の EJB タイプに対して必要かどうかをユーザーが示すためのメカニズムを提供します。 詳細は、修正していない EntityBean インスタンス上での ejbStore 呼び出しの回避 で取り上げています。




関連タスク
エンティティー Bean およびデータ・ストアの同期の操作
修正していない EntityBean インスタンス上での ejbStore 呼び出しの回避
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:05:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.iseries.doc/info/iseriesexp/ae/cdat_disflush.html