Class ChainedTransactionManager

  • All Implemented Interfaces:
    org.springframework.transaction.PlatformTransactionManager, org.springframework.transaction.TransactionManager

    public class ChainedTransactionManager
    extends java.lang.Object
    implements org.springframework.transaction.PlatformTransactionManager
    PlatformTransactionManager implementation 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 inner PlatformTransactionManager.

    The configured instances will start transactions in the order given and commit/rollback in reverse order, which means the PlatformTransactionManager most likely to break the transaction should be the last in the list configured. A PlatformTransactionManager throwing 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 new ChainedTransactionManager delegating to the given PlatformTransactionManagers.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean canCreateTransaction​(org.springframework.transaction.TransactionDefinition definition)  
      void commit​(org.springframework.transaction.TransactionStatus status)  
      org.grails.transaction.MultiTransactionStatus getTransaction​(org.springframework.transaction.TransactionDefinition definition)  
      java.util.List<org.springframework.transaction.PlatformTransactionManager> getTransactionManagers()  
      void rollback​(org.springframework.transaction.TransactionStatus status)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ChainedTransactionManager

        public ChainedTransactionManager​(org.springframework.transaction.PlatformTransactionManager... transactionManagers)
        Creates a new ChainedTransactionManager delegating to the given PlatformTransactionManagers.
        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:
        getTransaction in interface org.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:
        commit in interface org.springframework.transaction.PlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • rollback

        public void rollback​(org.springframework.transaction.TransactionStatus status)
                      throws org.springframework.transaction.TransactionException
        Specified by:
        rollback in interface org.springframework.transaction.PlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • getTransactionManagers

        public java.util.List<org.springframework.transaction.PlatformTransactionManager> getTransactionManagers()