Package org.grails.transaction
Class ChainedTransactionManager
- java.lang.Object
-
- org.grails.transaction.ChainedTransactionManager
-
- All Implemented Interfaces:
org.springframework.transaction.PlatformTransactionManager,org.springframework.transaction.TransactionManager
public class ChainedTransactionManager extends java.lang.Object implements org.springframework.transaction.PlatformTransactionManagerPlatformTransactionManagerimplementation that orchestrates transaction creation, commits and rollbacks to a list of delegates. Using this implementation assumes that errors causing a transaction rollback will usually happen before the transaction completion or during the commit of the most innerPlatformTransactionManager. The configured instances will start transactions in the order given and commit/rollback in reverse order, which means thePlatformTransactionManagermost likely to break the transaction should be the last in the list configured. APlatformTransactionManagerthrowing an exception during commit will automatically cause the remaining transaction managers to roll back instead of committing. original source: https://github.com/spring-projects/spring-data-commons/blob/master/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java- Since:
- 2.3.6
-
-
Constructor Summary
Constructors Constructor Description ChainedTransactionManager(org.springframework.transaction.PlatformTransactionManager... transactionManagers)Creates a newChainedTransactionManagerdelegating to the givenPlatformTransactionManagers.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancanCreateTransaction(org.springframework.transaction.TransactionDefinition definition)voidcommit(org.springframework.transaction.TransactionStatus status)org.grails.transaction.MultiTransactionStatusgetTransaction(org.springframework.transaction.TransactionDefinition definition)java.util.List<org.springframework.transaction.PlatformTransactionManager>getTransactionManagers()voidrollback(org.springframework.transaction.TransactionStatus status)
-
-
-
Constructor Detail
-
ChainedTransactionManager
public ChainedTransactionManager(org.springframework.transaction.PlatformTransactionManager... transactionManagers)
Creates a newChainedTransactionManagerdelegating to the givenPlatformTransactionManagers.- Parameters:
transactionManagers- must not be null or empty.
-
-
Method Detail
-
getTransaction
public org.grails.transaction.MultiTransactionStatus getTransaction(org.springframework.transaction.TransactionDefinition definition) throws org.springframework.transaction.TransactionException- Specified by:
getTransactionin interfaceorg.springframework.transaction.PlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
canCreateTransaction
protected boolean canCreateTransaction(org.springframework.transaction.TransactionDefinition definition)
-
commit
public void commit(org.springframework.transaction.TransactionStatus status) throws org.springframework.transaction.TransactionException- Specified by:
commitin interfaceorg.springframework.transaction.PlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
rollback
public void rollback(org.springframework.transaction.TransactionStatus status) throws org.springframework.transaction.TransactionException- Specified by:
rollbackin interfaceorg.springframework.transaction.PlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
getTransactionManagers
public java.util.List<org.springframework.transaction.PlatformTransactionManager> getTransactionManagers()
-
-