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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
commit()
Attempt to commit this transaction.commitAsync
(TransactionResourceConverter converter) 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.final boolean
Collection<javax.transaction.Synchronization>
int
Get the status of the transaction.getXid()
final int
hashCode()
Must be defined for increased performancevoid
registerSynchronization
(javax.transaction.Synchronization sync) Register aSynchronization
callback with this transaction.void
rollback()
Rolls back this transaction.rollbackAsync
(TransactionResourceConverter converter) void
runCommit
(boolean forceRollback) Runs the second phase of two-phase-commit protocol.runCommitAsync
(boolean forceRollback, TransactionResourceConverter resourceConverter) boolean
runPrepareAsync
(TransactionResourceConverter resourceConverter) void
Mark the transaction so that the only possible outcome is a rollback.void
toString()
-
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:
commit
in 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:
rollback
in 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:
setRollbackOnly
in 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:
getStatus
in interfacejavax.transaction.Transaction
- Returns:
- The status of the transaction. This is one of the
Status
constants.
-
enlistResource
public boolean enlistResource(XAResource resource) throws javax.transaction.RollbackException, IllegalStateException, javax.transaction.SystemException Enlist an XA resource with this transaction.- Specified by:
enlistResource
in interfacejavax.transaction.Transaction
- Returns:
true
if 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:
delistResource
in interfacejavax.transaction.Transaction
- 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.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 aSynchronization
callback with this transaction.- Specified by:
registerSynchronization
in interfacejavax.transaction.Transaction
- Throws:
javax.transaction.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
.
-
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
forceRollback
istrue
, then aRollbackException
is thrown with the messageFORCE_ROLLBACK_MESSAGE
.- Parameters:
forceRollback
- force the transaction to rollback.- Throws:
javax.transaction.HeuristicMixedException
javax.transaction.HeuristicRollbackException
javax.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
-