| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||
java.lang.Objectjava.lang.Enum<Propagation>
org.springframework.transaction.annotation.Propagation
public enum Propagation
Enumeration that represents transaction propagation behaviors for use with the JDK 1.5+ transaction annotation, corresponding to the TransactionDefinition interface.
Transactional, 
TransactionDefinition| Enum Constant Summary | |
|---|---|
| MANDATORYSupport a current transaction, throw an exception if none exists. | |
| NESTEDExecute within a nested transaction if a current transaction exists, behave like PROPAGATION_REQUIRED else. | |
| NEVERExecute non-transactionally, throw an exception if a transaction exists. | |
| NOT_SUPPORTEDExecute non-transactionally, suspend the current transaction if one exists. | |
| REQUIREDSupport a current transaction, create a new one if none exists. | |
| REQUIRES_NEWCreate a new transaction, suspend the current transaction if one exists. | |
| SUPPORTSSupport 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 scopp 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 | |||||||||