java.lang.Object | |
↳ | org.springframework.transaction.interceptor.RollbackRuleAttribute |
Known Direct Subclasses |
Rule determining whether or not a given exception (and any subclasses) should cause a rollback.
Multiple such rules can be applied to determine whether a transaction should commit or rollback after an exception has been thrown.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ROLLBACK_ON_RUNTIME_EXCEPTIONS | The rollback rule for
RuntimeExceptions . |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a new instance of the
RollbackRuleAttribute class. | |||||||||||
Create a new instance of the
RollbackRuleAttribute class
for the given exceptionName . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Return the depth of the superclass matching.
| |||||||||||
Return the pattern for the exception name.
| |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
The rollback rule
for
RuntimeExceptions
.
Create a new instance of the RollbackRuleAttribute
class.
This is the preferred way to construct a rollback rule that matches
the supplied Exception
class (and subclasses).
clazz | throwable class; must be Throwable or a subclass
of Throwable |
---|
IllegalArgumentException | if the supplied clazz is
not a Throwable type or is null
|
---|
Create a new instance of the RollbackRuleAttribute
class
for the given exceptionName
.
This can be a substring, with no wildcard support at present. A value
of "ServletException" would match
javax.servlet.ServletException
and subclasses, for example.
NB: Consider carefully how specific the pattern is, and whether to include package information (which is not mandatory). For example, "Exception" will match nearly anything, and will probably hide other rules. "java.lang.Exception" would be correct if "Exception" was meant to define a rule for all checked exceptions. With more unusual exception names such as "BaseBusinessException" there's no need to use a fully package-qualified name.
exceptionName | the exception name pattern; can also be a fully package-qualified class name |
---|
IllegalArgumentException | if the supplied
exceptionName is null or empty
|
---|
Return the depth of the superclass matching.
0
means ex
matches exactly. Returns
-1
if there is no match. Otherwise, returns depth with the
lowest depth winning.