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.TransactionManagerA simpleTransactionManagerimplementation.It provides the basic to handle
Transactions 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.UUIDtransactionManagerId
-
Constructor Summary
Constructors Constructor Description TransactionManagerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidbegin()voidcommit()protected abstract javax.transaction.TransactioncreateTransaction()static voiddissociateTransaction()intgetStatus()javax.transaction.TransactiongetTransaction()voidresume(javax.transaction.Transaction tx)voidrollback()voidsetRollbackOnly()voidsetTransactionTimeout(int seconds)javax.transaction.Transactionsuspend()
-
-
-
Method Detail
-
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, java.lang.SecurityException, java.lang.IllegalStateException, javax.transaction.SystemException- Specified by:
commitin interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.RollbackExceptionjavax.transaction.HeuristicMixedExceptionjavax.transaction.HeuristicRollbackExceptionjava.lang.SecurityExceptionjava.lang.IllegalStateExceptionjavax.transaction.SystemException
-
rollback
public void rollback() throws java.lang.IllegalStateException, java.lang.SecurityException, javax.transaction.SystemException- Specified by:
rollbackin interfacejavax.transaction.TransactionManager- Throws:
java.lang.IllegalStateExceptionjava.lang.SecurityExceptionjavax.transaction.SystemException
-
setRollbackOnly
public void setRollbackOnly() throws java.lang.IllegalStateException, javax.transaction.SystemException- Specified by:
setRollbackOnlyin interfacejavax.transaction.TransactionManager- Throws:
java.lang.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, java.lang.IllegalStateException, javax.transaction.SystemException- Specified by:
resumein interfacejavax.transaction.TransactionManager- Throws:
javax.transaction.InvalidTransactionExceptionjava.lang.IllegalStateExceptionjavax.transaction.SystemException
-
createTransaction
protected abstract javax.transaction.Transaction createTransaction()
-
-