Class TransactionImpl
java.lang.Object
org.infinispan.commons.tx.TransactionImpl
- All Implemented Interfaces:
jakarta.transaction.Transaction
- Direct Known Subclasses:
EmbeddedTransaction,FakeJTATransaction
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 booleanCollection<jakarta.transaction.Synchronization> jakarta.transaction.RollbackExceptionintGet the status of the transaction.getXid()final inthashCode()Must be defined for increased performancevoidregisterSynchronization(jakarta.transaction.Synchronization sync) Register 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 jakarta.transaction.RollbackException, jakarta.transaction.HeuristicMixedException, jakarta.transaction.HeuristicRollbackException, SecurityExceptionAttempt to commit this transaction.- Specified by:
commitin interfacejakarta.transaction.Transaction- Throws:
jakarta.transaction.RollbackException- If the transaction was marked for rollback only, the transaction is rolled back and this exception is thrown.jakarta.transaction.HeuristicMixedException- If a heuristic decision was made and some some parts of the transaction have been committed while other parts have been rolled back.jakarta.transaction.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 interfacejakarta.transaction.Transaction- 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.jakarta.transaction.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 interfacejakarta.transaction.Transaction- Throws:
IllegalStateException- If the transaction is not in an active state.
-
getStatus
public int getStatus()Get the status of the transaction.- Specified by:
getStatusin interfacejakarta.transaction.Transaction- Returns:
- The status of the transaction. This is one of the
Statusconstants.
-
enlistResource
public boolean enlistResource(XAResource resource) throws jakarta.transaction.RollbackException, IllegalStateException, jakarta.transaction.SystemException Enlist an XA resource with this transaction.- Specified by:
enlistResourcein interfacejakarta.transaction.Transaction- Returns:
trueif the resource could be enlisted with this transaction, otherwisefalse.- Throws:
jakarta.transaction.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.jakarta.transaction.SystemException- If the transaction service fails in an unexpected way.
-
delistResource
public boolean delistResource(XAResource xaRes, int flag) throws IllegalStateException, jakarta.transaction.SystemException De-list an XA resource from this transaction.- Specified by:
delistResourcein interfacejakarta.transaction.Transaction- 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.jakarta.transaction.SystemException- If the transaction service fails in an unexpected way.
-
registerSynchronization
public void registerSynchronization(jakarta.transaction.Synchronization sync) throws jakarta.transaction.RollbackException, IllegalStateException Register aSynchronizationcallback with this transaction.- Specified by:
registerSynchronizationin interfacejakarta.transaction.Transaction- Throws:
jakarta.transaction.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 jakarta.transaction.HeuristicMixedException, jakarta.transaction.HeuristicRollbackException, jakarta.transaction.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:
jakarta.transaction.HeuristicMixedExceptionjakarta.transaction.HeuristicRollbackExceptionjakarta.transaction.RollbackException
-
runCommitAsync
public CompletionStage<Void> runCommitAsync(boolean forceRollback, TransactionResourceConverter resourceConverter) -
toString
-
getXid
-
setXid
-
getEnlistedSynchronization
-
hashCode
-
equals
-
transactionFailed
-
getRollbackException
public jakarta.transaction.RollbackException getRollbackException()
-