WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

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

データベースのデッドロックおよび外部キーの競合

特定の SQL エラー・メッセージが繰り返されるのは、例えば データベースの参照整合性違反といった問題があるためです。これを回避するには、 CMP シーケンスのグループ化機能を使用します。

データベースの参照保全性違反による外部キーの競合を原因とする例外

データベースの参照保全性 (RI) ポリシーは、データベース・テーブルへのデータの書き込みやデータベース・テーブルからのデータの削除の方法に関する規則を規定しており、リレーショナルの整合性を保守します。 ただし、Bean パーシスタンスを管理するためのランタイム要件によって、EJB アプリケーションは RI 規則に違反し、データベースの例外を起こすことがあります。
WebSphere Application Server トレースやログ・ファイルに以下のメッセージ (DB2 稼働の環境で生成される) のいずれかと同様の例外メッセージが出る場合、ご使用の EJB アプリケーションは、データベースの RI に違反しています。
The insert or update value of the FOREIGN KEY table1.name_of_foreign_key_constraint
is not equal to any value of the parent key of the parent table.
または
A parent row cannot be deleted because the relationship table1.name_of_foreign_key_constraint
is not equal to any value of the parent key of the parent table.
これらの例外を回避するため、Entity Bean が Bean 用にシーケンス・グループを定義するこ とでリレーショナル・データベース・テーブルを更新する配列を指定する必要があります。

オプティミスティック並行性制御スキームが原因で起こるデッドロックによる例外

さらに、シーケンスのグループ化は、オプティミスティック並行性制御のために構成される Entity Bean のトランザクション・ロールバック例外の発生を最小に抑えることができます。オプティミスティック並行性制御命令では、最大数のトランザクションが一貫してデータにアクセスできるように、最小の時間でデータベース・ロックが行われます。 このように使用可能度の高いデータベースでの並行トランザクションは、同じテーブル行のロック、およびデッドロックの作成を試みることが可能です。生じた例外は、以下 (DB2 稼働の環境で生成される) と同様のメッセージを生成することができます。
Unsuccessful execution caused by deadlock or timeout.
シーケンスのグループ化フィーチャーを使用して、データベースのデッドロックが起こりにくいように Bean パーシスタンスを配列します。



関連概念
コンテナー管理パーシスタンスのシーケンスのグループ化
関連タスク
CMP シーケンス・グループのランタイムの設定
参照トピック    

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

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/rtrb_dblock.html