トランザクション・サービス例外
WebSphere® Application Server トランザクション・サービスがスローする例外が、各例外の要約とともにリストされます。
例外は、以下のようにグループ化されます。
EJB コンテナーがエンタープライズ Bean のビジネス・メソッドからのシステム例外をキャッチしたときに、 そのメソッドがコンテナー管理トランザクション内で実行されている場合は、 コンテナーは、例外をクライアントに引き渡す前に、トランザクションをロールバックします。 コンテナー管理トランザクション境界の Bean に対してビジネス・メソッドによってスローされた例外をコンテナーが処理する方法について詳しくは、 Enterprise JavaBeans 2.0 specification のセクション『Exception handling』を参照してください。このセクションでは、ビジネス・メソッドが実行され、そのビジネス・メソッドによって例外がスローされる状況における、コンテナー・アクションについて説明しています。 また、クライアントが受け取る例外と、クライアントをその例外から回復する方法についても説明しています。
標準的な例外
TransactionRequiredException、TransactionRolledbackException、 InvalidTransactionException などの標準的な例外は、Java™ Transaction API (JTA) 1.1 specification で定義されています。- InvalidTransactionException
- この例外は、要求に無効なトランザクション・コンテキストが含まれていることを示しています。
- TransactionRequiredException 例外
- この例外は、 要求にヌル・トランザクション・コンテキストが含まれているが、 ターゲット・オブジェクトにはアクティブ・トランザクションが必要であることを示しています。
- TransactionRolledbackException 例外
- この例外は、 その要求の処理に関連したトランザクションがロールバックされたか、 ロールバック用にマークされたことを示しています。したがって、要求された操作は、 実行できなかったか、そのトランザクション用の計算をそれ以上行うことは無意味なため、実行されませんでした。
ヒューリスティック例外
ヒューリスティック判定は、トランザクションに関係する 1 つ以上の参加プログラムが、トランザクション・サービスによる合意を得ずに、更新のコミットまたはロールバックを一方的に決定するものです。 ヒューリスティック判定は、 参加プログラムが既に準備済みで、コミット処理の第 2 フェーズが進行中のときにのみ発生する問題です。 ヒューリスティック判定は、通常、 トランザクション・マネージャーが 2 フェーズ・コミットの中でリソース管理との通信に繰り返し失敗した場合などの異常な状況下でのみ発生します。ヒューリスティック判定が行われた場合には、 その決定が合意と異なるものとなり、データ保全性が損なわれる危険性があります。以下のリストでは、 ヒューリスティックな例外について要約しています。詳しくは、Java Transaction API (JTA) 1.1 specification を参照してください。
- HeuristicRollback 例外
- この例外は、コミット操作時に、ヒュ ーリスティック判定が行われたこと、およびすべての関連する更新がロールバックされたことをレポートするために引き起こされます。
- HeuristicMixed 例外
- この例外は、コミット操作時に、ヒューリス ティック判定が行われたこと、および一部の関連する更新がコミットされ、その他はロールバックされたことをレポートするために引き起こされます。