クラス RollbackRuleAttribute
- 実装されたすべてのインターフェース:
SerializableSE
- 既知の直属サブクラス
NoRollbackRuleAttribute
このような複数のルールを適用して、例外がスローされた後にトランザクションをコミットするかロールバックするかを決定できます。
各ルールは、それぞれ RollbackRuleAttribute(Class)
または RollbackRuleAttribute(String)
を介して提供される例外型または例外パターンに基づいています。
ロールバックルールが例外型で定義されている場合、その型はスローされた例外の型とそのスーパー型との照合に使用され、型の安全性を提供し、パターンの使用時に発生する可能性のある意図しない一致を回避します。例: jakarta.servlet.ServletException.class
の値は、型 jakarta.servlet.ServletException
およびそのサブクラスのスローされた例外にのみ一致します。
ロールバックルールが例外パターンで定義されている場合、パターンは完全修飾クラス名または例外型の完全修飾クラス名のサブストリング(Throwable
のサブクラスである必要があります)であり、現在ワイルドカードはサポートされていません。例: "jakarta.servlet.ServletException"
または "ServletException"
の値は、jakarta.servlet.ServletException
とそのサブクラスに一致します。
ロールバックルールのセマンティクス、パターン、パターンベースのルールとの意図しない一致の可能性に関する警告の詳細については、@Transactional
の javadoc を参照してください。
- 導入:
- 09.04.2003
- 作成者:
- Rod Johnson, Sam Brannen
- 関連事項:
フィールドサマリー
修飾子と型フィールド説明static final RollbackRuleAttribute
チェック例外を含むすべてのExceptions
SE のロールバックルール。static final RollbackRuleAttribute
コンストラクターのサマリー
コンストラクター説明RollbackRuleAttribute
(ClassSE<?> exceptionType) 指定されたexceptionType
のRollbackRuleAttribute
クラスの新しいインスタンスを作成します。RollbackRuleAttribute
(StringSE exceptionPattern) 指定されたexceptionPattern
のRollbackRuleAttribute
クラスの新しいインスタンスを作成します。方法の概要
修飾子と型メソッド説明boolean
int
getDepth
(ThrowableSE exception) 次のセマンティクスを使用して、スーパークラスマッチングの深さを返します。このルールが照合に使用する構成済みの例外名パターンを取得します。int
hashCode()
toString()
フィールドの詳細
ROLLBACK_ON_RUNTIME_EXCEPTIONS
ROLLBACK_ON_ALL_EXCEPTIONS
チェック例外を含むすべてのExceptions
SE のロールバックルール。- 導入:
- 6.2
コンストラクターの詳細
RollbackRuleAttribute
指定されたexceptionType
のRollbackRuleAttribute
クラスの新しいインスタンスを作成します。これは、指定された例外の型とそのサブクラスを型安全に一致させるロールバック規則を構築するための推奨される方法です。
ロールバックルールのセマンティクスの詳細については、
@Transactional
の javadoc を参照してください。- パラメーター:
exceptionType
- 例外型。Throwable
SE またはThrowable
のサブクラスである必要があります- 例外:
IllegalArgumentExceptionSE
- 提供されたexceptionType
がThrowable
型ではない、またはnull
である場合
RollbackRuleAttribute
指定されたexceptionPattern
のRollbackRuleAttribute
クラスの新しいインスタンスを作成します。ロールバックルールのセマンティクス、パターン、意図しない一致の可能性に関する警告の詳細については、
@Transactional
の javadoc を参照してください。型の安全性を向上させ、意図しない一致を回避するには、代わりに
RollbackRuleAttribute(Class)
を使用してください。- パラメーター:
exceptionPattern
- 例外名パターン。完全にパッケージ修飾されたクラス名にすることもできます- 例外:
IllegalArgumentExceptionSE
- 指定されたexceptionPattern
がnull
または空の場合
メソッドの詳細
getExceptionName
このルールが照合に使用する構成済みの例外名パターンを取得します。- 関連事項:
getDepth
次のセマンティクスを使用して、スーパークラスマッチングの深さを返します。-1
は、このルールが提供されたexception
と一致しないことを意味します。0
は、このルールが提供されたexception
と直接一致することを意味します。- その他の正の値は、このルールがスーパークラス階層内の指定された
exception
と一致することを意味します。この値は、指定されたexception
と、このルールが直接一致する例外との間のクラス階層内のレベル数です。
特定の例外と一致するロールバックルールを比較する場合、一致する深さが低いルールが優先されます。例: 直接一致(
depth == 0
)は、スーパークラス階層(depth > 0
)の一致に勝ちます。RollbackRuleAttribute(String)
を介して例外パターンで構築された場合、ネストされた例外型または同様の名前の例外型に対する一致は、直接一致があったかのように、クラス階層内の対応するレベルでの一致を示す深さを返します。equals
hashCode
public int hashCode()toString