Package org.infinispan.commons.tx
Class TransactionManagerImpl
java.lang.Object
org.infinispan.commons.tx.TransactionManagerImpl
- All Implemented Interfaces:
javax.transaction.TransactionManager
- Direct Known Subclasses:
EmbeddedBaseTransactionManager,RemoteTransactionManager
public abstract class TransactionManagerImpl
extends Object
implements javax.transaction.TransactionManager
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
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 TypeMethodDescriptionvoidbegin()voidcommit()protected abstract javax.transaction.Transactionstatic voidintjavax.transaction.Transactionvoidresume(javax.transaction.Transaction tx) voidrollback()voidvoidsetTransactionTimeout(int seconds) javax.transaction.Transactionsuspend()
-
Field Details
-
transactionManagerId
-
-
Constructor Details
-
TransactionManagerImpl
public TransactionManagerImpl()
-
-
Method Details
-
dissociateTransaction
public static void dissociateTransaction() -
getTransaction
public javax.transaction.Transaction getTransaction()- Specified by:
getTransactionin interfacejavax.transaction.TransactionManager
-
begin
public void begin() throws javax.transaction.NotSupportedException, javax.transaction.SystemException- Specified by:
beginin interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.NotSupportedExceptionjavax.transaction.SystemException
-
commit
public void commit() throws javax.transaction.RollbackException, javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, SecurityException, IllegalStateException, javax.transaction.SystemException- Specified by:
commitin interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.RollbackExceptionjavax.transaction.HeuristicMixedExceptionjavax.transaction.HeuristicRollbackExceptionSecurityExceptionIllegalStateExceptionjavax.transaction.SystemException
-
rollback
public void rollback() throws IllegalStateException, SecurityException, javax.transaction.SystemException- Specified by:
rollbackin interfacejavax.transaction.TransactionManager- Throws:
IllegalStateExceptionSecurityExceptionjavax.transaction.SystemException
-
setRollbackOnly
- Specified by:
setRollbackOnlyin interfacejavax.transaction.TransactionManager- Throws:
IllegalStateExceptionjavax.transaction.SystemException
-
getStatus
public int getStatus() throws javax.transaction.SystemException- Specified by:
getStatusin interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.SystemException
-
setTransactionTimeout
public void setTransactionTimeout(int seconds) throws javax.transaction.SystemException - Specified by:
setTransactionTimeoutin interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.SystemException
-
suspend
public javax.transaction.Transaction suspend() throws javax.transaction.SystemException- Specified by:
suspendin interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.SystemException
-
resume
public void resume(javax.transaction.Transaction tx) throws javax.transaction.InvalidTransactionException, IllegalStateException, javax.transaction.SystemException - Specified by:
resumein interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.InvalidTransactionExceptionIllegalStateExceptionjavax.transaction.SystemException
-
createTransaction
protected abstract javax.transaction.Transaction createTransaction()
-