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
public class TransactionImpl extends java.lang.Object implements javax.transaction.Transaction
A basicTransaction
implementation.- Since:
- 9.1
- Author:
- Bela Ban, Pedro Ruivo
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransactionImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
commit()
Attempt to commit this transaction.boolean
delistResource(javax.transaction.xa.XAResource xaRes, int flag)
De-list an XA resource from this transaction.boolean
enlistResource(javax.transaction.xa.XAResource resource)
Enlist an XA resource with this transaction.boolean
equals(java.lang.Object obj)
java.util.Collection<javax.transaction.xa.XAResource>
getEnlistedResources()
java.util.Collection<javax.transaction.Synchronization>
getEnlistedSynchronization()
int
getStatus()
Get the status of the transaction.javax.transaction.xa.Xid
getXid()
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.void
runCommit(boolean forceRollback)
Runs the second phase of two-phase-commit protocol.boolean
runPrepare()
void
setRollbackOnly()
Mark the transaction so that the only possible outcome is a rollback.void
setXid(javax.transaction.xa.Xid xid)
java.lang.String
toString()
-
-
-
Method Detail
-
commit
public void commit() throws javax.transaction.RollbackException, javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, java.lang.SecurityException, javax.transaction.SystemException
Attempt 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.SystemException
- If the transaction service fails in an unexpected way.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.java.lang.SecurityException
- If the caller is not allowed to commit this transaction.
-
rollback
public void rollback() throws java.lang.IllegalStateException, javax.transaction.SystemException
Rolls back this transaction.- Specified by:
rollback
in interfacejavax.transaction.Transaction
- Throws:
java.lang.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.
-
setRollbackOnly
public void setRollbackOnly() throws java.lang.IllegalStateException, javax.transaction.SystemException
Mark the transaction so that the only possible outcome is a rollback.- Specified by:
setRollbackOnly
in interfacejavax.transaction.Transaction
- Throws:
java.lang.IllegalStateException
- If the transaction is not in an active state.javax.transaction.SystemException
- If the transaction service fails in an unexpected way.
-
getStatus
public int getStatus() throws javax.transaction.SystemException
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. - Throws:
javax.transaction.SystemException
- If the transaction service fails in an unexpected way.
-
enlistResource
public boolean enlistResource(javax.transaction.xa.XAResource resource) throws javax.transaction.RollbackException, java.lang.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.java.lang.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(javax.transaction.xa.XAResource xaRes, int flag) throws java.lang.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:
java.lang.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, java.lang.IllegalStateException, javax.transaction.SystemException
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.java.lang.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
.javax.transaction.SystemException
- If the transaction service fails in an unexpected way.
-
getEnlistedResources
public java.util.Collection<javax.transaction.xa.XAResource> getEnlistedResources()
-
runPrepare
public boolean runPrepare()
-
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
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getXid
public javax.transaction.xa.Xid getXid()
-
setXid
public void setXid(javax.transaction.xa.Xid xid)
-
getEnlistedSynchronization
public java.util.Collection<javax.transaction.Synchronization> getEnlistedSynchronization()
-
hashCode
public final int hashCode()
Must be defined for increased performance- Overrides:
hashCode
in classjava.lang.Object
-
equals
public final boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
-