public class RollbackRuleAttribute extends Object implements Serializable
Multiple such rules can be applied to determine whether a transaction should commit or rollback after an exception has been thrown.
NoRollbackRuleAttribute, 
Serialized Form| Modifier and Type | Field and Description | 
|---|---|
| static RollbackRuleAttribute | ROLLBACK_ON_RUNTIME_EXCEPTIONSThe  rollback ruleforRuntimeExceptions. | 
| Constructor and Description | 
|---|
| RollbackRuleAttribute(Class<?> clazz)Create a new instance of the  RollbackRuleAttributeclass. | 
| RollbackRuleAttribute(String exceptionName)Create a new instance of the  RollbackRuleAttributeclass
 for the givenexceptionName. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object other) | 
| int | getDepth(Throwable ex)Return the depth of the superclass matching. | 
| String | getExceptionName()Return the pattern for the exception name. | 
| int | hashCode() | 
| String | toString() | 
public static final RollbackRuleAttribute ROLLBACK_ON_RUNTIME_EXCEPTIONS
rollback rule for
 RuntimeExceptions.public RollbackRuleAttribute(Class<?> clazz)
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 ThrowableIllegalArgumentException - if the supplied clazz is
 not a Throwable type or is nullpublic RollbackRuleAttribute(String exceptionName)
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 nameIllegalArgumentException - if the supplied
 exceptionName is null or emptypublic String getExceptionName()
public int getDepth(Throwable ex)
0 means ex matches exactly. Returns
 -1 if there is no match. Otherwise, returns depth with the
 lowest depth winning.