Package org.infinispan.commons.tx
Class TransactionImpl
java.lang.Object
org.infinispan.commons.tx.TransactionImpl
- All Implemented Interfaces:
javax.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<javax.transaction.Synchronization>javax.transaction.RollbackExceptionintGet the status of the transaction.getXid()final inthashCode()Must be defined for increased performancevoidregisterSynchronization(javax.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 javax.transaction.RollbackException, javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, SecurityExceptionAttempt to commit this transaction.- Specified by:
commitin interfacejavax.transaction.Transaction- Throws:
javax.transaction.RollbackException- If the transaction was marked for rollback only, the transaction is rolled back and this exception is thrown.javax.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.javax.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 interfacejavax.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.javax.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 interfacejavax.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 interfacejavax.transaction.Transaction- Returns:
- The status of the transaction. This is one of the
Statusconstants.
-
enlistResource
public boolean enlistResource(XAResource resource) throws javax.transaction.RollbackException, IllegalStateException, javax.transaction.SystemException Enlist an XA resource with this transaction.- Specified by:
enlistResourcein interfacejavax.transaction.Transaction- Returns:
trueif the resource could be enlisted with this transaction, otherwisefalse.- Throws:
javax.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.javax.transaction.SystemException- If the transaction service fails in an unexpected way.
-
delistResource
public boolean delistResource(XAResource xaRes, int flag) throws IllegalStateException, javax.transaction.SystemException De-list an XA resource from this transaction.- Specified by:
delistResourcein interfacejavax.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.javax.transaction.SystemException- If the transaction service fails in an unexpected way.
-
registerSynchronization
public void registerSynchronization(javax.transaction.Synchronization sync) throws javax.transaction.RollbackException, IllegalStateException Register aSynchronizationcallback with this transaction.- Specified by:
registerSynchronizationin interfacejavax.transaction.Transaction- Throws:
javax.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 javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, javax.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:
javax.transaction.HeuristicMixedExceptionjavax.transaction.HeuristicRollbackExceptionjavax.transaction.RollbackException
-
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
public javax.transaction.RollbackException getRollbackException()
-