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 java.lang.Object implements javax.transaction.TransactionManager
A simpleTransactionManager
implementation.It provides the basic to handle
Transaction
s and supports anyXAResource
.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 Modifier and Type Field Description protected java.util.UUID
transactionManagerId
-
Constructor Summary
Constructors Constructor Description TransactionManagerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
begin()
void
commit()
protected abstract javax.transaction.Transaction
createTransaction()
static void
dissociateTransaction()
int
getStatus()
javax.transaction.Transaction
getTransaction()
void
resume(javax.transaction.Transaction tx)
void
rollback()
void
setRollbackOnly()
void
setTransactionTimeout(int seconds)
javax.transaction.Transaction
suspend()
-
-
-
Method Detail
-
dissociateTransaction
public static void dissociateTransaction()
-
getTransaction
public javax.transaction.Transaction getTransaction()
- Specified by:
getTransaction
in interfacejavax.transaction.TransactionManager
-
begin
public void begin() throws javax.transaction.NotSupportedException, javax.transaction.SystemException
- Specified by:
begin
in interfacejavax.transaction.TransactionManager
- Throws:
javax.transaction.NotSupportedException
javax.transaction.SystemException
-
commit
public void commit() throws javax.transaction.RollbackException, javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, java.lang.SecurityException, java.lang.IllegalStateException, javax.transaction.SystemException
- Specified by:
commit
in interfacejavax.transaction.TransactionManager
- Throws:
javax.transaction.RollbackException
javax.transaction.HeuristicMixedException
javax.transaction.HeuristicRollbackException
java.lang.SecurityException
java.lang.IllegalStateException
javax.transaction.SystemException
-
rollback
public void rollback() throws java.lang.IllegalStateException, java.lang.SecurityException, javax.transaction.SystemException
- Specified by:
rollback
in interfacejavax.transaction.TransactionManager
- Throws:
java.lang.IllegalStateException
java.lang.SecurityException
javax.transaction.SystemException
-
setRollbackOnly
public void setRollbackOnly() throws java.lang.IllegalStateException, javax.transaction.SystemException
- Specified by:
setRollbackOnly
in interfacejavax.transaction.TransactionManager
- Throws:
java.lang.IllegalStateException
javax.transaction.SystemException
-
getStatus
public int getStatus() throws javax.transaction.SystemException
- Specified by:
getStatus
in interfacejavax.transaction.TransactionManager
- Throws:
javax.transaction.SystemException
-
setTransactionTimeout
public void setTransactionTimeout(int seconds) throws javax.transaction.SystemException
- Specified by:
setTransactionTimeout
in interfacejavax.transaction.TransactionManager
- Throws:
javax.transaction.SystemException
-
suspend
public javax.transaction.Transaction suspend() throws javax.transaction.SystemException
- Specified by:
suspend
in interfacejavax.transaction.TransactionManager
- Throws:
javax.transaction.SystemException
-
resume
public void resume(javax.transaction.Transaction tx) throws javax.transaction.InvalidTransactionException, java.lang.IllegalStateException, javax.transaction.SystemException
- Specified by:
resume
in interfacejavax.transaction.TransactionManager
- Throws:
javax.transaction.InvalidTransactionException
java.lang.IllegalStateException
javax.transaction.SystemException
-
createTransaction
protected abstract javax.transaction.Transaction createTransaction()
-
-