Package org.apache.activemq.ra
Class ManagedTransactionContext
- java.lang.Object
-
- org.apache.activemq.TransactionContext
-
- org.apache.activemq.ra.ManagedTransactionContext
-
- All Implemented Interfaces:
XAResource
public class ManagedTransactionContext extends TransactionContext
Allows us to switch between using a shared transaction context, or using a local transaction context.
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.TransactionContext
xaErrorCodeMarker
-
Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
-
-
Constructor Summary
Constructors Constructor Description ManagedTransactionContext(TransactionContext sharedContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSynchronization(Synchronization s)voidbegin()Start a local transaction.voidcommit()Commits all work done in this transaction and releases any locks currently held.voidcommit(Xid xid, boolean onePhase)voidend(Xid xid, int flags)voidforget(Xid xid)TransactionIdgetTransactionId()intgetTransactionTimeout()booleanisInLocalTransaction()booleanisInTransaction()booleanisInXATransaction()booleanisRollbackOnly()booleanisSameRM(XAResource xaResource)intprepare(Xid xid)Xid[]recover(int flag)voidrollback()Rolls back any work done in this transaction and releases any locks currently held.voidrollback(Xid xid)booleansetTransactionTimeout(int seconds)voidsetUseSharedTxContext(boolean enable)voidstart(Xid xid, int flags)Associates a transaction with the resource.-
Methods inherited from class org.apache.activemq.TransactionContext
cleanup, getConnection, getLocalTransactionEventListener, getResourceManagerId, setConnection, setLocalTransactionEventListener, setRollbackOnly, toString, toXAException
-
-
-
-
Constructor Detail
-
ManagedTransactionContext
public ManagedTransactionContext(TransactionContext sharedContext)
-
-
Method Detail
-
setUseSharedTxContext
public void setUseSharedTxContext(boolean enable) throws JMSException- Throws:
JMSException
-
begin
public void begin() throws JMSExceptionDescription copied from class:TransactionContextStart a local transaction.- Overrides:
beginin classTransactionContext- Throws:
JMSException- on internal error
-
commit
public void commit() throws JMSExceptionDescription copied from class:TransactionContextCommits all work done in this transaction and releases any locks currently held.- Overrides:
commitin classTransactionContext- Throws:
JMSException- if the JMS provider fails to commit the transaction due to some internal error.IllegalStateException- if the method is not called by a transacted session.
-
commit
public void commit(Xid xid, boolean onePhase) throws XAException
- Specified by:
commitin interfaceXAResource- Overrides:
commitin classTransactionContext- Throws:
XAException
-
end
public void end(Xid xid, int flags) throws XAException
- Specified by:
endin interfaceXAResource- Overrides:
endin classTransactionContext- Throws:
XAException
-
forget
public void forget(Xid xid) throws XAException
- Specified by:
forgetin interfaceXAResource- Overrides:
forgetin classTransactionContext- Throws:
XAException
-
getTransactionId
public TransactionId getTransactionId()
- Overrides:
getTransactionIdin classTransactionContext
-
getTransactionTimeout
public int getTransactionTimeout() throws XAException- Specified by:
getTransactionTimeoutin interfaceXAResource- Overrides:
getTransactionTimeoutin classTransactionContext- Throws:
XAException
-
isInLocalTransaction
public boolean isInLocalTransaction()
- Overrides:
isInLocalTransactionin classTransactionContext
-
isRollbackOnly
public boolean isRollbackOnly()
- Overrides:
isRollbackOnlyin classTransactionContext
-
isInXATransaction
public boolean isInXATransaction()
- Overrides:
isInXATransactionin classTransactionContext
-
isInTransaction
public boolean isInTransaction()
- Overrides:
isInTransactionin classTransactionContext
-
isSameRM
public boolean isSameRM(XAResource xaResource) throws XAException
- Specified by:
isSameRMin interfaceXAResource- Overrides:
isSameRMin classTransactionContext- Throws:
XAException
-
prepare
public int prepare(Xid xid) throws XAException
- Specified by:
preparein interfaceXAResource- Overrides:
preparein classTransactionContext- Throws:
XAException
-
recover
public Xid[] recover(int flag) throws XAException
- Specified by:
recoverin interfaceXAResource- Overrides:
recoverin classTransactionContext- Throws:
XAException
-
rollback
public void rollback() throws JMSExceptionDescription copied from class:TransactionContextRolls back any work done in this transaction and releases any locks currently held.- Overrides:
rollbackin classTransactionContext- Throws:
JMSException- if the JMS provider fails to roll back the transaction due to some internal error.IllegalStateException- if the method is not called by a transacted session.
-
rollback
public void rollback(Xid xid) throws XAException
- Specified by:
rollbackin interfaceXAResource- Overrides:
rollbackin classTransactionContext- Throws:
XAException
-
setTransactionTimeout
public boolean setTransactionTimeout(int seconds) throws XAException- Specified by:
setTransactionTimeoutin interfaceXAResource- Overrides:
setTransactionTimeoutin classTransactionContext- Throws:
XAException
-
start
public void start(Xid xid, int flags) throws XAException
Description copied from class:TransactionContextAssociates a transaction with the resource.- Specified by:
startin interfaceXAResource- Overrides:
startin classTransactionContext- Throws:
XAException
-
addSynchronization
public void addSynchronization(Synchronization s)
- Overrides:
addSynchronizationin classTransactionContext
-
-