Package org.infinispan.commons.tx
Class TransactionImpl
- java.lang.Object
-
- org.infinispan.commons.tx.TransactionImpl
-
- All Implemented Interfaces:
Transaction
- Direct Known Subclasses:
EmbeddedTransaction
public class TransactionImpl extends Object implements Transaction
A basicTransaction
implementation.- Since:
- 9.1
- Author:
- Bela Ban, Pedro Ruivo
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransactionImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
commit()
Attempt to commit this transaction.boolean
delistResource(XAResource xaRes, int flag)
De-list an XA resource from this transaction.boolean
enlistResource(XAResource resource)
Enlist an XA resource with this transaction.boolean
equals(Object obj)
Collection<XAResource>
getEnlistedResources()
Collection<Synchronization>
getEnlistedSynchronization()
int
getStatus()
Get the status of the transaction.Xid
getXid()
int
hashCode()
Must be defined for increased performancevoid
registerSynchronization(Synchronization sync)
Register aSynchronization
callback with this transaction.void
rollback()
Rolls back this transaction.void
runCommit(boolean forceRollback)
Runs the second phase of two-phase-commit protocol.boolean
runPrepare()
void
setRollbackOnly()
Mark the transaction so that the only possible outcome is a rollback.void
setXid(Xid xid)
String
toString()
-
-
-
Method Detail
-
commit
public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, SystemException
Attempt to commit this transaction.- Specified by:
commit
in 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, SystemException
Rolls back this transaction.- Specified by:
rollback
in 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, SystemException
Mark the transaction so that the only possible outcome is a rollback.- Specified by:
setRollbackOnly
in 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 SystemException
Get the status of the transaction.- Specified by:
getStatus
in interfaceTransaction
- Returns:
- The status of the transaction. This is one of the
Status
constants. - 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:
enlistResource
in interfaceTransaction
- Returns:
true
if 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:
delistResource
in interfaceTransaction
- Returns:
true
if 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 aSynchronization
callback with this transaction.- Specified by:
registerSynchronization
in interfaceTransaction
- Throws:
RollbackException
- If the transaction is marked for rollback only.IllegalStateException
- If the transaction is in a state whereSynchronization
callbacks 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, RollbackException
Runs the second phase of two-phase-commit protocol.If
forceRollback
istrue
, then aRollbackException
is thrown with the messageFORCE_ROLLBACK_MESSAGE
.- Parameters:
forceRollback
- force the transaction to rollback.- Throws:
HeuristicMixedException
HeuristicRollbackException
RollbackException
-
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
-
-