|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.transaction.interceptor.DelegatingTransactionAttribute
public abstract class DelegatingTransactionAttribute
TransactionAttribute implementation that delegates all calls to a given target TransactionAttribute. Abstract because it is meant to be subclassed, with subclasses overriding specific methods that should not simply delegate to the target.
Field Summary |
---|
Fields inherited from interface org.springframework.transaction.TransactionDefinition |
---|
ISOLATION_DEFAULT, ISOLATION_READ_COMMITTED, ISOLATION_READ_UNCOMMITTED, ISOLATION_REPEATABLE_READ, ISOLATION_SERIALIZABLE, PROPAGATION_MANDATORY, PROPAGATION_NESTED, PROPAGATION_NEVER, PROPAGATION_NOT_SUPPORTED, PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW, PROPAGATION_SUPPORTS, TIMEOUT_DEFAULT |
Constructor Summary | |
---|---|
DelegatingTransactionAttribute(TransactionAttribute targetAttribute)
Create a DelegatingTransactionAttribute for the given target attribute. |
Method Summary | |
---|---|
boolean |
equals(Object obj)
|
int |
getIsolationLevel()
Return the isolation level. |
String |
getName()
Return the name of this transaction. |
int |
getPropagationBehavior()
Return the propagation behavior. |
int |
getTimeout()
Return the transaction timeout. |
int |
hashCode()
|
boolean |
isReadOnly()
Return whether to optimize as a read-only transaction. |
boolean |
rollbackOn(Throwable ex)
Should we roll back on the given exception? |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DelegatingTransactionAttribute(TransactionAttribute targetAttribute)
targetAttribute
- the target TransactionAttribute to delegate toMethod Detail |
---|
public int getPropagationBehavior()
TransactionDefinition
Must return one of the PROPAGATION_XXX
constants
defined on this interface
.
getPropagationBehavior
in interface TransactionDefinition
TransactionDefinition.PROPAGATION_REQUIRED
,
TransactionSynchronizationManager.isActualTransactionActive()
public int getIsolationLevel()
TransactionDefinition
Must return one of the ISOLATION_XXX
constants
defined on this interface
.
Only makes sense in combination with TransactionDefinition.PROPAGATION_REQUIRED
or TransactionDefinition.PROPAGATION_REQUIRES_NEW
.
Note that a transaction manager that does not support custom
isolation levels will throw an exception when given any other level
than TransactionDefinition.ISOLATION_DEFAULT
.
getIsolationLevel
in interface TransactionDefinition
public int getTimeout()
TransactionDefinition
Must return a number of seconds, or TransactionDefinition.TIMEOUT_DEFAULT
.
Only makes sense in combination with TransactionDefinition.PROPAGATION_REQUIRED
or TransactionDefinition.PROPAGATION_REQUIRES_NEW
.
Note that a transaction manager that does not support timeouts
will throw an exception when given any other timeout than
TransactionDefinition.TIMEOUT_DEFAULT
.
getTimeout
in interface TransactionDefinition
public boolean isReadOnly()
TransactionDefinition
The read-only flag applies to any transaction context, whether
backed by an actual resource transaction
(TransactionDefinition.PROPAGATION_REQUIRED
/TransactionDefinition.PROPAGATION_REQUIRES_NEW
) or
operating non-transactionally at the resource level
(TransactionDefinition.PROPAGATION_SUPPORTS
). In the latter case, the flag will
only apply to managed resources within the application, such as a
Hibernate Session
.
This just serves as a hint for the actual transaction subsystem; it will not necessarily cause failure of write access attempts. A transaction manager that cannot interpret the read-only hint will not throw an exception when asked for a read-only transaction.
isReadOnly
in interface TransactionDefinition
true
if the transaction is to be optimized as read-onlyTransactionSynchronization.beforeCommit(boolean)
,
TransactionSynchronizationManager.isCurrentTransactionReadOnly()
public String getName()
TransactionDefinition
null
.
This will be used as the transaction name to be shown in a transaction monitor, if applicable (for example, WebLogic's).
In case of Spring's declarative transactions, the exposed name
must (and will) be the
fully-qualified class name + "." + method name
(by default).
getName
in interface TransactionDefinition
TransactionAspectSupport
,
TransactionSynchronizationManager.getCurrentTransactionName()
public boolean rollbackOn(Throwable ex)
TransactionAttribute
rollbackOn
in interface TransactionAttribute
ex
- the exception to evaluate
public boolean equals(Object obj)
public int hashCode()
public String toString()
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |