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

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

コンテナー管理パーシスタンスのシーケンスのグループ化

コンテナー管理パーシスタンス (CMP) Bean を含む Enterprise JavaBeans (EJB) モジュールをアセンブルすると、アプリケーションの実行時に特定のタイプのデータベース関連の例外の発生を防ぐことができます。 シーケンスのグループ化 によって、エンティティー Bean がリレーショナル・データベース・テーブルを更新する順序を指定することができます。

参照保全性 (RI) の違反による例外の除去

シーケンスのグループ化は、データベースの 参照保全性 (RI) の違反を防ぐのに特に役に立ちます。 データベース RI ポリシーは、データベース・テーブルへのデータの書き込みやデータベース・テーブルからのデータの削除の方法に関する規則を規定しており、リレーショナルの整合性を保守します。 ただし、Bean パーシスタンスを管理するためのランタイム要件によって、EJB アプリケーションは RI 規則に違反し、データベースの例外を起こすことがあります。 これらのランタイム要件は、以下のことを必ず指示します。
  • エンティティー Bean は、メソッド呼び出しにより直ちにデータベースに関連するオペレーションを作成および除去します。
  • エンティティー Bean の変更は、finder メソッドが呼び出されるか、またはトランザクションが終了するまで、EJB コンテナーによってキャッシュされます。
したがって、エンティティー Bean がデータベースを更新する順序は予測不能です。 このランダム性により、アプリケーションがデータベース RI に違反する可能性が高くなります。 バッチ処理のオペレーションをキャッシュすると、これらのランタイム要件をオーバーライドしますが、特定の RI ポリシーを順守する Bean パーシスタンス・シーケンスを保証しません。

データベース RI を順守するパーシスタンス・シーケンスを保証する唯一の方法は、シーケンスを指定することです。これは、アセンブリー・ツールの EJB デプロイメント記述子エディターで行います。 シーケンスのグループ化フィーチャーで、Bean を CMP グループに割り当てます。各グループで、RI に違反せずに更新を行うために、パーシスタンス・マネージャーがデータベースに Bean データを挿入する順序を指定します。

シーケンス・グループを指定する方法の詳細については、トピックCMP シーケンス・グループのランタイムの設定 を参照してください。 同期化する必要がある RI ポリシーについては、データベース管理者にお問い合わせください。

オプティミスティック並行性制御スキームの例外リスクの最小化

シーケンスのグループ化は、オプティミスティック並行性制御のために構成される エンティティー Bean のトランザクション・ロールバック例外のリスクも削減することができます。これらの並行性制御スキームでは、最大のトランザクションが一貫してデータにアクセスできるように、最小の時間でデータベース・ロックが行われます。 以下の 2 つの共通した理由によって、比較的制限されていない状態のデータベースにより、トランザクション・ロールバック例外が起こることがあります。
  • 並行トランザクションが同じテーブル行のロックを試行する場合、データベース・デッドロックが起こります。
  • トランザクションは、アプリケーション・ロジックに違反する順序で起こることがあります。

シーケンスのグループ化フィーチャーを使用して、これらの シナリオが起こりにくいように Bean パーシスタンスを配列します。




関連概念
エンタープライズ Bean
関連タスク
CMP シーケンス・グループのランタイムの設定
関連資料
CMP Bean 関連テクノロジー
概念トピック    

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

最終更新: 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/cejb_sequence.html