クラス 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チェック例外を含むすべてのExceptionsSE のロールバックルール。static final RollbackRuleAttributeコンストラクターの概要
コンストラクターコンストラクター説明RollbackRuleAttribute(ClassSE<?> exceptionType) 指定されたexceptionTypeのRollbackRuleAttributeクラスの新しいインスタンスを作成します。RollbackRuleAttribute(StringSE exceptionPattern) 指定されたexceptionPatternのRollbackRuleAttributeクラスの新しいインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明booleanintgetDepth(ThrowableSE exception) 次のセマンティクスを使用して、スーパークラスマッチングの深さを返します。このルールが照合に使用する構成済みの例外名パターンを取得します。inthashCode()toString()
フィールドの詳細
ROLLBACK_ON_RUNTIME_EXCEPTIONS
ROLLBACK_ON_ALL_EXCEPTIONS
チェック例外を含むすべてのExceptionsSE のロールバックルール。- 導入:
- 6.2
コンストラクターの詳細
RollbackRuleAttribute
指定されたexceptionTypeのRollbackRuleAttributeクラスの新しいインスタンスを作成します。これは、指定された例外の型とそのサブクラスを型安全に一致させるロールバック規則を構築するための推奨される方法です。
ロールバックルールのセマンティクスの詳細については、
@Transactionalの javadoc を参照してください。- パラメーター:
exceptionType- 例外型。ThrowableSE または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