Class HazelcastTransactionManager

  • All Implemented Interfaces:
    java.io.Serializable, org.springframework.transaction.PlatformTransactionManager, org.springframework.transaction.support.ResourceTransactionManager, org.springframework.transaction.TransactionManager

    public class HazelcastTransactionManager
    extends org.springframework.transaction.support.AbstractPlatformTransactionManager
    implements org.springframework.transaction.support.ResourceTransactionManager
    PlatformTransactionManager implementation for a single HazelcastInstance. Binds a Hazelcast TransactionContext from the instance to the thread (as it is already bounded by Hazelcast itself) and makes it available for access.

    Note: This transaction manager doesn't supports nested transactions, since Hazelcast doesn't support them either.

    Author:
    Balint Krivan
    See Also:
    getTransactionContext(HazelcastInstance), getTransactionContext(), Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager

        org.springframework.transaction.support.AbstractPlatformTransactionManager.SuspendedResourcesHolder
    • Field Summary

      • Fields inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager

        logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doBegin​(java.lang.Object transaction, org.springframework.transaction.TransactionDefinition definition)  
      protected void doCleanupAfterCompletion​(java.lang.Object transaction)  
      protected void doCommit​(org.springframework.transaction.support.DefaultTransactionStatus status)  
      protected java.lang.Object doGetTransaction()  
      protected void doRollback​(org.springframework.transaction.support.DefaultTransactionStatus status)  
      protected void doSetRollbackOnly​(org.springframework.transaction.support.DefaultTransactionStatus status)  
      java.lang.Object getResourceFactory()  
      TransactionContext getTransactionContext()
      Returns the transaction context
      static TransactionContext getTransactionContext​(HazelcastInstance hazelcastInstance)
      Returns the transaction context for the given Hazelcast instance bounded to the current thread.
      protected boolean isExistingTransaction​(java.lang.Object transaction)  
      • Methods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager

        commit, determineTimeout, doResume, doSuspend, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, newTransactionStatus, prepareForCommit, prepareSynchronization, prepareTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.springframework.transaction.PlatformTransactionManager

        commit, getTransaction, rollback
    • Constructor Detail

      • HazelcastTransactionManager

        public HazelcastTransactionManager​(HazelcastInstance hazelcastInstance)
    • Method Detail

      • getTransactionContext

        public static TransactionContext getTransactionContext​(HazelcastInstance hazelcastInstance)
        Returns the transaction context for the given Hazelcast instance bounded to the current thread.
        Throws:
        org.springframework.transaction.NoTransactionException - if the transaction context cannot be found
      • getTransactionContext

        public TransactionContext getTransactionContext()
        Returns the transaction context
        Throws:
        org.springframework.transaction.NoTransactionException - if the transaction context cannot be found
      • getResourceFactory

        public java.lang.Object getResourceFactory()
        Specified by:
        getResourceFactory in interface org.springframework.transaction.support.ResourceTransactionManager
      • doGetTransaction

        protected java.lang.Object doGetTransaction()
                                             throws org.springframework.transaction.TransactionException
        Specified by:
        doGetTransaction in class org.springframework.transaction.support.AbstractPlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • isExistingTransaction

        protected boolean isExistingTransaction​(java.lang.Object transaction)
                                         throws org.springframework.transaction.TransactionException
        Overrides:
        isExistingTransaction in class org.springframework.transaction.support.AbstractPlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • doBegin

        protected void doBegin​(java.lang.Object transaction,
                               org.springframework.transaction.TransactionDefinition definition)
                        throws org.springframework.transaction.TransactionException
        Specified by:
        doBegin in class org.springframework.transaction.support.AbstractPlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • doCommit

        protected void doCommit​(org.springframework.transaction.support.DefaultTransactionStatus status)
                         throws org.springframework.transaction.TransactionException
        Specified by:
        doCommit in class org.springframework.transaction.support.AbstractPlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • doSetRollbackOnly

        protected void doSetRollbackOnly​(org.springframework.transaction.support.DefaultTransactionStatus status)
                                  throws org.springframework.transaction.TransactionException
        Overrides:
        doSetRollbackOnly in class org.springframework.transaction.support.AbstractPlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • doRollback

        protected void doRollback​(org.springframework.transaction.support.DefaultTransactionStatus status)
                           throws org.springframework.transaction.TransactionException
        Specified by:
        doRollback in class org.springframework.transaction.support.AbstractPlatformTransactionManager
        Throws:
        org.springframework.transaction.TransactionException
      • doCleanupAfterCompletion

        protected void doCleanupAfterCompletion​(java.lang.Object transaction)
        Overrides:
        doCleanupAfterCompletion in class org.springframework.transaction.support.AbstractPlatformTransactionManager