Class HazelcastTransactionManager

java.lang.Object
org.springframework.transaction.support.AbstractPlatformTransactionManager
com.hazelcast.spring.transaction.HazelcastTransactionManager
All Implemented Interfaces:
Serializable, org.springframework.transaction.ConfigurableTransactionManager, 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:
  • 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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doBegin(Object transaction, org.springframework.transaction.TransactionDefinition definition)
     
    protected void
     
    protected void
    doCommit(org.springframework.transaction.support.DefaultTransactionStatus status)
     
    protected Object
     
    protected void
    doRollback(org.springframework.transaction.support.DefaultTransactionStatus status)
     
    protected void
    doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status)
     
     
    Returns the transaction context
    Returns the transaction context for the given Hazelcast instance bounded to the current thread.
    protected boolean
     

    Methods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager

    commit, determineTimeout, doResume, doSuspend, getDefaultTimeout, getTransaction, getTransactionExecutionListeners, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, prepareForCommit, prepareSynchronization, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionExecutionListeners, 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.ConfigurableTransactionManager

    addListener

    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