Class EmbeddedBaseTransactionManager

java.lang.Object
org.infinispan.commons.tx.TransactionManagerImpl
org.infinispan.transaction.tm.EmbeddedBaseTransactionManager
All Implemented Interfaces:
jakarta.transaction.TransactionManager
Direct Known Subclasses:
BatchModeTransactionManager, EmbeddedTransactionManager

public class EmbeddedBaseTransactionManager 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:
9.0
Author:
Bela Ban, Pedro Ruivo
  • Constructor Details

    • EmbeddedBaseTransactionManager

      public EmbeddedBaseTransactionManager()
  • Method Details

    • createTransaction

      protected EmbeddedTransaction createTransaction()
      Specified by:
      createTransaction in class org.infinispan.commons.tx.TransactionManagerImpl
    • getTransaction

      public EmbeddedTransaction getTransaction()
      Specified by:
      getTransaction in interface jakarta.transaction.TransactionManager
      Overrides:
      getTransaction in class org.infinispan.commons.tx.TransactionManagerImpl