Class RemoteTransactionManager

java.lang.Object
org.infinispan.commons.tx.TransactionManagerImpl
org.infinispan.hotrod.transaction.manager.RemoteTransactionManager
All Implemented Interfaces:
javax.transaction.TransactionManager

public final class RemoteTransactionManager extends org.infinispan.commons.tx.TransactionManagerImpl
A simple TransactionManager implementation.

It provides the basic to handle Transactions and supports any XAResource.

Implementation notes:

  • The state is kept in memory only.
  • Does not support recover.
  • Does not support multi-thread transactions. Although it is possible to execute the transactions in multiple threads, this transaction manager does not wait for them to complete. It is the application responsibility to wait before invoking TransactionManagerImpl.commit() or TransactionManagerImpl.rollback()
  • The transaction should not block. It is no possible to TransactionManagerImpl.setTransactionTimeout(int) and this transaction manager won't rollback the transaction if it takes too long.

If you need any of the requirements above, please consider use another implementation.

Also, it does not implement any 1-phase-commit optimization.

Since:
14.0
  • Field Summary

    Fields inherited from class org.infinispan.commons.tx.TransactionManagerImpl

    transactionManagerId
  • Method Summary

    Modifier and Type
    Method
    Description
    protected javax.transaction.Transaction
     
     

    Methods inherited from class org.infinispan.commons.tx.TransactionManagerImpl

    begin, commit, dissociateTransaction, getStatus, getTransaction, resume, rollback, setRollbackOnly, setTransactionTimeout, suspend

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstance

      public static RemoteTransactionManager getInstance()
    • createTransaction

      protected javax.transaction.Transaction createTransaction()
      Specified by:
      createTransaction in class org.infinispan.commons.tx.TransactionManagerImpl