Package org.infinispan.commons.tx
Class TransactionImpl
- java.lang.Object
-
- org.infinispan.commons.tx.TransactionImpl
-
- All Implemented Interfaces:
javax.transaction.Transaction
public class TransactionImpl extends Object implements javax.transaction.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.CompletionStage<Void>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.booleanequals(Object obj)Collection<XAResource>getEnlistedResources()Collection<javax.transaction.Synchronization>getEnlistedSynchronization()intgetStatus()Get the status of the transaction.XidImplgetXid()inthashCode()Must be defined for increased performancevoidregisterSynchronization(javax.transaction.Synchronization sync)Register aSynchronizationcallback with this transaction.voidrollback()Rolls back this transaction.CompletionStage<Void>rollbackAsync(TransactionResourceConverter converter)voidrunCommit(boolean forceRollback)Runs the second phase of two-phase-commit protocol.CompletionStage<Void>runCommitAsync(boolean forceRollback, TransactionResourceConverter resourceConverter)booleanrunPrepare()CompletionStage<Boolean>runPrepareAsync(TransactionResourceConverter resourceConverter)voidsetRollbackOnly()Mark the transaction so that the only possible outcome is a rollback.voidsetXid(XidImpl xid)StringtoString()
-
-
-
Method Detail
-
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
public CompletionStage<Void> commitAsync(TransactionResourceConverter converter)
-
rollback
public void rollback() throws IllegalStateException, javax.transaction.SystemExceptionRolls 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
public CompletionStage<Void> rollbackAsync(TransactionResourceConverter converter)
-
setRollbackOnly
public void setRollbackOnly() throws IllegalStateExceptionMark 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, IllegalStateExceptionRegister 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
public Collection<XAResource> getEnlistedResources()
-
runPrepare
public boolean runPrepare()
-
runPrepareAsync
public CompletionStage<Boolean> runPrepareAsync(TransactionResourceConverter resourceConverter)
-
runCommit
public void runCommit(boolean forceRollback) throws javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, javax.transaction.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:
javax.transaction.HeuristicMixedExceptionjavax.transaction.HeuristicRollbackExceptionjavax.transaction.RollbackException
-
runCommitAsync
public CompletionStage<Void> runCommitAsync(boolean forceRollback, TransactionResourceConverter resourceConverter)
-
getXid
public XidImpl getXid()
-
setXid
public void setXid(XidImpl xid)
-
getEnlistedSynchronization
public Collection<javax.transaction.Synchronization> getEnlistedSynchronization()
-
hashCode
public final int hashCode()
Must be defined for increased performance
-
-