Package org.apache.activemq
Class TransactionContext
java.lang.Object
org.apache.activemq.TransactionContext
- All Implemented Interfaces:
XAResource
A TransactionContext provides the means to control a JMS transaction. It
provides a local transaction interface and also an XAResource interface.
An application server controls the transactional assignment of an XASession
by obtaining its XAResource. It uses the XAResource to assign the session to
a transaction, prepare and commit work on the transaction, and so on. An
XAResource provides some fairly sophisticated facilities for interleaving
work on multiple transactions, recovering a list of transactions in progress,
and so on. A JTA aware JMS provider must fully implement this functionality.
This could be done by using the services of a database that supports XA, or a
JMS provider may choose to implement this functionality from scratch.
- See Also:
-
SessionQueueSessionTopicSessionXASession
-
Field Summary
FieldsFields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidbegin()Start a local transaction.voidcleanup()voidcommit()Commits all work done in this transaction and releases any locks currently held.voidvoidvoidprotected StringintbooleanbooleanbooleanbooleanbooleanisSameRM(XAResource xaResource) intXid[]recover(int flag) voidrollback()Rolls back any work done in this transaction and releases any locks currently held.voidsetConnection(ActiveMQConnection connection) voidsetLocalTransactionEventListener(LocalTransactionEventListener localTransactionEventListener) Used by the resource adapter to listen to transaction events.voidsetRollbackOnly(boolean val) booleansetTransactionTimeout(int seconds) voidAssociates a transaction with the resource.toString()static XAExceptiontoXAException(jakarta.jms.JMSException e) Converts a JMSException from the server to an XAException. if the JMSException contained a linked XAException that is returned instead.
-
Field Details
-
xaErrorCodeMarker
- See Also:
-
-
Constructor Details
-
TransactionContext
public TransactionContext() -
TransactionContext
-
-
Method Details
-
isInXATransaction
public boolean isInXATransaction() -
setRollbackOnly
public void setRollbackOnly(boolean val) -
isRollbackOnly
public boolean isRollbackOnly() -
isInLocalTransaction
public boolean isInLocalTransaction() -
isInTransaction
public boolean isInTransaction() -
getLocalTransactionEventListener
- Returns:
- Returns the localTransactionEventListener.
-
setLocalTransactionEventListener
public void setLocalTransactionEventListener(LocalTransactionEventListener localTransactionEventListener) Used by the resource adapter to listen to transaction events.- Parameters:
localTransactionEventListener- The localTransactionEventListener to set.
-
addSynchronization
-
getTransactionId
-
begin
public void begin() throws jakarta.jms.JMSExceptionStart a local transaction.- Throws:
jakarta.jms.JMSException- on internal error
-
rollback
public void rollback() throws jakarta.jms.JMSExceptionRolls back any work done in this transaction and releases any locks currently held.- Throws:
jakarta.jms.JMSException- if the JMS provider fails to roll back the transaction due to some internal error.jakarta.jms.IllegalStateException- if the method is not called by a transacted session.
-
commit
public void commit() throws jakarta.jms.JMSExceptionCommits all work done in this transaction and releases any locks currently held.- Throws:
jakarta.jms.JMSException- if the JMS provider fails to commit the transaction due to some internal error.jakarta.jms.IllegalStateException- if the method is not called by a transacted session.
-
start
Associates a transaction with the resource.- Specified by:
startin interfaceXAResource- Throws:
XAException
-
end
- Specified by:
endin interfaceXAResource- Throws:
XAException
-
prepare
- Specified by:
preparein interfaceXAResource- Throws:
XAException
-
rollback
- Specified by:
rollbackin interfaceXAResource- Throws:
XAException
-
commit
- Specified by:
commitin interfaceXAResource- Throws:
XAException
-
forget
- Specified by:
forgetin interfaceXAResource- Throws:
XAException
-
isSameRM
- Specified by:
isSameRMin interfaceXAResource- Throws:
XAException
-
recover
- Specified by:
recoverin interfaceXAResource- Throws:
XAException
-
getTransactionTimeout
- Specified by:
getTransactionTimeoutin interfaceXAResource- Throws:
XAException
-
setTransactionTimeout
- Specified by:
setTransactionTimeoutin interfaceXAResource- Throws:
XAException
-
getResourceManagerId
- Throws:
jakarta.jms.JMSException
-
toXAException
Converts a JMSException from the server to an XAException. if the JMSException contained a linked XAException that is returned instead.- Parameters:
e- JMSException to convert- Returns:
- XAException wrapping original exception or its message
-
getConnection
-
setConnection
-
cleanup
public void cleanup() -
toString
-