Class HazelcastTransactionManager

java.lang.Object
org.springframework.transaction.support.AbstractPlatformTransactionManager
com.hazelcast.spring.transaction.HazelcastTransactionManager
All Implemented Interfaces:
Serializable, org.springframework.transaction.PlatformTransactionManager, org.springframework.transaction.support.ResourceTransactionManager

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
  • Constructor Summary

    Constructors
    Constructor Description
    HazelcastTransactionManager​(HazelcastInstance hazelcastInstance)  
  • Method Summary

    Modifier and Type Method Description
    protected void doBegin​(Object transaction, org.springframework.transaction.TransactionDefinition definition)  
    protected void doCleanupAfterCompletion​(Object transaction)  
    protected void doCommit​(org.springframework.transaction.support.DefaultTransactionStatus status)  
    protected Object doGetTransaction()  
    protected void doRollback​(org.springframework.transaction.support.DefaultTransactionStatus status)  
    protected void doSetRollbackOnly​(org.springframework.transaction.support.DefaultTransactionStatus status)  
    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​(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 Details

    • HazelcastTransactionManager

      public HazelcastTransactionManager​(HazelcastInstance hazelcastInstance)
  • Method Details

    • 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 Object getResourceFactory()
      Specified by:
      getResourceFactory in interface org.springframework.transaction.support.ResourceTransactionManager
    • doGetTransaction

      protected 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​(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​(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​(Object transaction)
      Overrides:
      doCleanupAfterCompletion in class org.springframework.transaction.support.AbstractPlatformTransactionManager