Package org.infinispan.commons.tx
Class TransactionManagerImpl
java.lang.Object
org.infinispan.commons.tx.TransactionManagerImpl
- All Implemented Interfaces:
jakarta.transaction.TransactionManager
- Direct Known Subclasses:
EmbeddedBaseTransactionManager
,RemoteTransactionManager
public abstract class TransactionManagerImpl
extends Object
implements jakarta.transaction.TransactionManager
A simple
TransactionManager
implementation.
It provides the basic to handle Transaction
s 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
commit()
orrollback()
- The transaction should not block. It is no possible to
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.1
- Author:
- Bela Ban, Pedro Ruivo
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
begin()
void
commit()
protected abstract jakarta.transaction.Transaction
static void
int
jakarta.transaction.Transaction
void
resume
(jakarta.transaction.Transaction tx) void
rollback()
void
void
setTransactionTimeout
(int seconds) jakarta.transaction.Transaction
suspend()
-
Field Details
-
transactionManagerId
-
-
Constructor Details
-
TransactionManagerImpl
public TransactionManagerImpl()
-
-
Method Details
-
dissociateTransaction
public static void dissociateTransaction() -
getTransaction
public jakarta.transaction.Transaction getTransaction()- Specified by:
getTransaction
in interfacejakarta.transaction.TransactionManager
-
begin
public void begin() throws jakarta.transaction.NotSupportedException, jakarta.transaction.SystemException- Specified by:
begin
in interfacejakarta.transaction.TransactionManager
- Throws:
jakarta.transaction.NotSupportedException
jakarta.transaction.SystemException
-
commit
public void commit() throws jakarta.transaction.RollbackException, jakarta.transaction.HeuristicMixedException, jakarta.transaction.HeuristicRollbackException, SecurityException, IllegalStateException, jakarta.transaction.SystemException- Specified by:
commit
in interfacejakarta.transaction.TransactionManager
- Throws:
jakarta.transaction.RollbackException
jakarta.transaction.HeuristicMixedException
jakarta.transaction.HeuristicRollbackException
SecurityException
IllegalStateException
jakarta.transaction.SystemException
-
rollback
public void rollback() throws IllegalStateException, SecurityException, jakarta.transaction.SystemException- Specified by:
rollback
in interfacejakarta.transaction.TransactionManager
- Throws:
IllegalStateException
SecurityException
jakarta.transaction.SystemException
-
setRollbackOnly
- Specified by:
setRollbackOnly
in interfacejakarta.transaction.TransactionManager
- Throws:
IllegalStateException
jakarta.transaction.SystemException
-
getStatus
public int getStatus() throws jakarta.transaction.SystemException- Specified by:
getStatus
in interfacejakarta.transaction.TransactionManager
- Throws:
jakarta.transaction.SystemException
-
setTransactionTimeout
public void setTransactionTimeout(int seconds) throws jakarta.transaction.SystemException - Specified by:
setTransactionTimeout
in interfacejakarta.transaction.TransactionManager
- Throws:
jakarta.transaction.SystemException
-
suspend
public jakarta.transaction.Transaction suspend() throws jakarta.transaction.SystemException- Specified by:
suspend
in interfacejakarta.transaction.TransactionManager
- Throws:
jakarta.transaction.SystemException
-
resume
public void resume(jakarta.transaction.Transaction tx) throws jakarta.transaction.InvalidTransactionException, IllegalStateException, jakarta.transaction.SystemException - Specified by:
resume
in interfacejakarta.transaction.TransactionManager
- Throws:
jakarta.transaction.InvalidTransactionException
IllegalStateException
jakarta.transaction.SystemException
-
createTransaction
protected abstract jakarta.transaction.Transaction createTransaction()
-