Package org.infinispan.commons.tx
Class TransactionImpl
- java.lang.Object
-
- org.infinispan.commons.tx.TransactionImpl
-
- All Implemented Interfaces:
Transaction
public class TransactionImpl extends Object implements Transaction
A basicTransactionimplementation.- Since:
- 9.1
- Author:
- Bela Ban, Pedro Ruivo
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTransactionImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommit()Attempt to commit this transaction.booleandelistResource(XAResource xaRes, int flag)De-list an XA resource from this transaction.booleanenlistResource(XAResource resource)Enlist an XA resource with this transaction.booleanequals(Object obj)Collection<XAResource>getEnlistedResources()Collection<Synchronization>getEnlistedSynchronization()intgetStatus()Get the status of the transaction.XidgetXid()inthashCode()Must be defined for increased performancevoidregisterSynchronization(Synchronization sync)Register aSynchronizationcallback with this transaction.voidrollback()Rolls back this transaction.voidrunCommit(boolean forceRollback)Runs the second phase of two-phase-commit protocol.booleanrunPrepare()voidsetRollbackOnly()Mark the transaction so that the only possible outcome is a rollback.voidsetXid(Xid xid)StringtoString()
-
-
-
Method Detail
-
commit
public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, SystemExceptionAttempt to commit this transaction.- Specified by:
commitin interfaceTransaction- Throws:
RollbackException- If the transaction was marked for rollback only, the transaction is rolled back and this exception is thrown.SystemException- If the transaction service fails in an unexpected way.HeuristicMixedException- If a heuristic decision was made and some some parts of the transaction have been committed while other parts have been rolled back.HeuristicRollbackException- If a heuristic decision to roll back the transaction was made.SecurityException- If the caller is not allowed to commit this transaction.
-
rollback
public void rollback() throws IllegalStateException, SystemExceptionRolls back this transaction.- Specified by:
rollbackin interfaceTransaction- Throws:
IllegalStateException- If the transaction is in a state where it cannot be rolled back. This could be because the transaction is no longer active, or because it is in theprepared state.SystemException- If the transaction service fails in an unexpected way.
-
setRollbackOnly
public void setRollbackOnly() throws IllegalStateException, SystemExceptionMark the transaction so that the only possible outcome is a rollback.- Specified by:
setRollbackOnlyin interfaceTransaction- Throws:
IllegalStateException- If the transaction is not in an active state.SystemException- If the transaction service fails in an unexpected way.
-
getStatus
public int getStatus() throws SystemExceptionGet the status of the transaction.- Specified by:
getStatusin interfaceTransaction- Returns:
- The status of the transaction. This is one of the
Statusconstants. - Throws:
SystemException- If the transaction service fails in an unexpected way.
-
enlistResource
public boolean enlistResource(XAResource resource) throws RollbackException, IllegalStateException, SystemException
Enlist an XA resource with this transaction.- Specified by:
enlistResourcein interfaceTransaction- Returns:
trueif the resource could be enlisted with this transaction, otherwisefalse.- Throws:
RollbackException- If the transaction is marked for rollback only.IllegalStateException- If the transaction is in a state where resources cannot be enlisted. This could be because the transaction is no longer active, or because it is in theprepared state.SystemException- If the transaction service fails in an unexpected way.
-
delistResource
public boolean delistResource(XAResource xaRes, int flag) throws IllegalStateException, SystemException
De-list an XA resource from this transaction.- Specified by:
delistResourcein interfaceTransaction- Returns:
trueif the resource could be de-listed from this transaction, otherwisefalse.- Throws:
IllegalStateException- If the transaction is in a state where resources cannot be de-listed. This could be because the transaction is no longer active.SystemException- If the transaction service fails in an unexpected way.
-
registerSynchronization
public void registerSynchronization(Synchronization sync) throws RollbackException, IllegalStateException, SystemException
Register aSynchronizationcallback with this transaction.- Specified by:
registerSynchronizationin interfaceTransaction- Throws:
RollbackException- If the transaction is marked for rollback only.IllegalStateException- If the transaction is in a state whereSynchronizationcallbacks cannot be registered. This could be because the transaction is no longer active, or because it is in theprepared state.SystemException- If the transaction service fails in an unexpected way.
-
getEnlistedResources
public Collection<XAResource> getEnlistedResources()
-
runPrepare
public boolean runPrepare()
-
runCommit
public void runCommit(boolean forceRollback) throws HeuristicMixedException, HeuristicRollbackException, RollbackExceptionRuns the second phase of two-phase-commit protocol.If
forceRollbackistrue, then aRollbackExceptionis thrown with the messageFORCE_ROLLBACK_MESSAGE.- Parameters:
forceRollback- force the transaction to rollback.- Throws:
HeuristicMixedExceptionHeuristicRollbackExceptionRollbackException
-
getXid
public Xid getXid()
-
setXid
public void setXid(Xid xid)
-
getEnlistedSynchronization
public Collection<Synchronization> getEnlistedSynchronization()
-
hashCode
public final int hashCode()
Must be defined for increased performance
-
-