|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={METHOD,TYPE}) @Retention(value=RUNTIME) @Inherited @Documented public @interface Transactional
Describes transaction attributes on a method or class.
This annotation type is generally directly comparable to Spring's
RuleBasedTransactionAttribute
class, and in fact AnnotationTransactionAttributeSource
will directly
convert the data to the latter class, so that Spring's transaction support code
does not have to know about annotations. If no rules are relevant to the exception,
it will be treated like
DefaultTransactionAttribute
(rolling back on runtime exceptions).
DefaultTransactionAttribute
,
RuleBasedTransactionAttribute
Optional Element Summary | |
---|---|
Isolation |
isolation
The transaction isolation level. |
Class<? extends Throwable>[] |
noRollbackFor
Defines zero (0) or more exception Classes , which must be a
subclass of Throwable , indicating which exception types must not
cause a transaction rollback. |
String[] |
noRollbackForClassName
Defines zero (0) or more exception names (for exceptions which must be a subclass of Throwable ) indicating which exception types must not
cause a transaction rollback. |
Propagation |
propagation
The transaction propagation type. |
boolean |
readOnly
true if the transaction is read-only. |
Class<? extends Throwable>[] |
rollbackFor
Defines zero (0) or more exception classes , which must be a
subclass of Throwable , indicating which exception types must cause
a transaction rollback. |
String[] |
rollbackForClassName
Defines zero (0) or more exception names (for exceptions which must be a subclass of Throwable ), indicating which exception types must cause
a transaction rollback. |
int |
timeout
The timeout for this transaction. |
public abstract Propagation propagation
Defaults to Propagation.REQUIRED
.
public abstract Isolation isolation
Defaults to Isolation.DEFAULT
.
public abstract int timeout
Defaults to the default timeout of the underlying transaction system.
public abstract boolean readOnly
true
if the transaction is read-only.
Defaults to false
.
public abstract Class<? extends Throwable>[] rollbackFor
classes
, which must be a
subclass of Throwable
, indicating which exception types must cause
a transaction rollback.
This is the preferred way to construct a rollback rule, matching the exception class and subclasses.
Similar to RollbackRuleAttribute.RollbackRuleAttribute(Class clazz)
public abstract String[] rollbackForClassName
Throwable
), indicating which exception types must cause
a transaction rollback.
This can be a substring, with no wildcard support at present.
A value of "ServletException" would match
ServletException
and subclasses, for example.
NB: Consider carefully how specific the pattern is, and whether
to include package information (which isn't 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 is no need to use a FQN.
Similar to RollbackRuleAttribute.RollbackRuleAttribute(String exceptionName)
public abstract Class<? extends Throwable>[] noRollbackFor
Classes
, which must be a
subclass of Throwable
, indicating which exception types must not
cause a transaction rollback.
This is the preferred way to construct a rollback rule, matching the exception class and subclasses.
Similar to NoRollbackRuleAttribute.NoRollbackRuleAttribute(Class clazz)
public abstract String[] noRollbackForClassName
Throwable
) indicating which exception types must not
cause a transaction rollback.
See the description of rollbackForClassName()
for more info on how
the specified names are treated.
Similar to NoRollbackRuleAttribute.NoRollbackRuleAttribute(String exceptionName)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |