|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD |
java.lang.Object java.lang.Enum<Propagation> org.springframework.transaction.annotation.Propagation
public enum Propagation
Enumeration that represents transaction propagation behaviors for use
with the Transactional
annotation, corresponding to the
TransactionDefinition
interface.
Enum Constant Summary | |
---|---|
MANDATORY
Support a current transaction, throw an exception if none exists. |
|
NESTED
Execute within a nested transaction if a current transaction exists, behave like PROPAGATION_REQUIRED else. |
|
NEVER
Execute non-transactionally, throw an exception if a transaction exists. |
|
NOT_SUPPORTED
Execute non-transactionally, suspend the current transaction if one exists. |
|
REQUIRED
Support a current transaction, create a new one if none exists. |
|
REQUIRES_NEW
Create a new transaction, suspend the current transaction if one exists. |
|
SUPPORTS
Support a current transaction, execute non-transactionally if none exists. |
Method Summary | |
---|---|
int |
value()
|
static Propagation |
valueOf(String name)
Returns the enum constant of this type with the specified name. |
static Propagation[] |
values()
Returns an array containing the constants of this enum type, in the order they are declared. |
Methods inherited from class java.lang.Enum |
---|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Enum Constant Detail |
---|
public static final Propagation REQUIRED
This is the default setting of a transaction annotation.
public static final Propagation SUPPORTS
Note: For transaction managers with transaction synchronization, PROPAGATION_SUPPORTS is slightly different from no transaction at all, as it defines a transaction scope that synchronization will apply for. As a consequence, the same resources (JDBC Connection, Hibernate Session, etc) will be shared for the entire specified scope. Note that this depends on the actual synchronization configuration of the transaction manager.
AbstractPlatformTransactionManager.setTransactionSynchronization(int)
public static final Propagation MANDATORY
public static final Propagation REQUIRES_NEW
Note: Actual transaction suspension will not work on out-of-the-box
on all transaction managers. This in particular applies to JtaTransactionManager,
which requires the javax.transaction.TransactionManager
to be
made available it to it (which is server-specific in standard J2EE).
JtaTransactionManager.setTransactionManager(javax.transaction.TransactionManager)
public static final Propagation NOT_SUPPORTED
Note: Actual transaction suspension will not work on out-of-the-box
on all transaction managers. This in particular applies to JtaTransactionManager,
which requires the javax.transaction.TransactionManager
to be
made available it to it (which is server-specific in standard J2EE).
JtaTransactionManager.setTransactionManager(javax.transaction.TransactionManager)
public static final Propagation NEVER
public static final Propagation NESTED
Note: Actual creation of a nested transaction will only work on specific transaction managers. Out of the box, this only applies to the JDBC DataSourceTransactionManager when working on a JDBC 3.0 driver. Some JTA providers might support nested transactions as well.
DataSourceTransactionManager
Method Detail |
---|
public static Propagation[] values()
for (Propagation c : Propagation.values()) System.out.println(c);
public static Propagation valueOf(String name)
name
- the name of the enum constant to be returned.
IllegalArgumentException
- if this enum type has no constant
with the specified name
NullPointerException
- if the argument is nullpublic int value()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD |