Package org.infinispan.commons.tx
Class TransactionImpl
java.lang.Object
org.infinispan.commons.tx.TransactionImpl
- All Implemented Interfaces:
Transaction
A basic
Transaction implementation.- Since:
- 9.1
- Author:
- Bela Ban, Pedro Ruivo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcommit()Attempt to commit this transaction.commitAsync(TransactionResourceConverter converter) booleandelistResource(XAResource xaRes, int flag) De-list an XA resource from this transaction.booleanenlistResource(XAResource resource) Enlist an XA resource with this transaction.final booleanintGet the status of the transaction.getXid()final inthashCode()Must be defined for increased performancevoidRegister aSynchronizationcallback with this transaction.voidrollback()Rolls back this transaction.rollbackAsync(TransactionResourceConverter converter) voidrunCommit(boolean forceRollback) Runs the second phase of two-phase-commit protocol.runCommitAsync(boolean forceRollback, TransactionResourceConverter resourceConverter) booleanrunPrepareAsync(TransactionResourceConverter resourceConverter) voidMark the transaction so that the only possible outcome is a rollback.voidtoString()voidtransactionFailed(Throwable throwable)
-
Constructor Details
-
TransactionImpl
protected TransactionImpl()
-
-
Method Details
-
commit
public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityExceptionAttempt 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.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.
-
commitAsync
-
rollback
Rolls 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.
-
rollbackAsync
-
setRollbackOnly
Mark 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.
-
getStatus
public int getStatus()Get the status of the transaction.- Specified by:
getStatusin interfaceTransaction- Returns:
- The status of the transaction. This is one of the
Statusconstants.
-
enlistResource
public boolean enlistResource(XAResource resource) throws RollbackException, IllegalStateException, SystemException Enlist an XA resource with this transaction.- Specified by:
enlistResourcein interfaceTransaction- Parameters:
resource- The XAResource object associated with the resource (connection).- 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- Parameters:
xaRes- The XAResource object associated with the resource (connection).flag- One of the values of TMSUCCESS, TMSUSPEND, or TMFAIL.- 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 Register aSynchronizationcallback with this transaction.- Specified by:
registerSynchronizationin interfaceTransaction- Parameters:
sync- The Synchronization object for the transaction associated with the target object.- 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.
-
getEnlistedResources
-
runPrepare
public boolean runPrepare() -
runPrepareAsync
-
runCommit
public void runCommit(boolean forceRollback) throws HeuristicMixedException, HeuristicRollbackException, RollbackException Runs 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
-
runCommitAsync
public CompletionStage<Void> runCommitAsync(boolean forceRollback, TransactionResourceConverter resourceConverter) -
toString
-
getXid
-
setXid
-
getEnlistedSynchronization
-
hashCode
public final int hashCode()Must be defined for increased performance -
equals
-
transactionFailed
-
getRollbackException
-