java.lang.Object
org.activemq.ActiveMQSession
org.activemq.ActiveMQXASession
- All Implemented Interfaces:
- ActiveMQMessageDispatcher, org.activemq.message.MessageAcknowledge, javax.jms.QueueSession, java.lang.Runnable, javax.jms.Session, org.activemq.management.StatsCapable, javax.jms.TopicSession, javax.jms.XAQueueSession, javax.jms.XASession, javax.jms.XATopicSession
- public class ActiveMQXASession
- extends ActiveMQSession
- implements javax.jms.QueueSession, javax.jms.TopicSession, javax.jms.XAQueueSession, javax.jms.XATopicSession
The XASession interface extends the capability of Session by adding access
to a JMS provider's support for the Java Transaction API (JTA) (optional).
This support takes the form of a javax.transaction.xa.XAResource object.
The functionality of this object closely resembles that defined by the
standard X/Open XA Resource 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.
A client of the application server is given what it thinks is a regular
JMS Session. Behind the scenes, the application server controls the
transaction management of the underlying XASession.
The XASession interface is optional. JMS providers are not required to
support this interface. This interface is for use by JMS providers to
support transactional environments. Client programs are strongly encouraged
to use the transactional support available in their environment, rather
than use these XA interfaces directly.
- Version:
- $Revision: 1.1.1.1 $
Methods inherited from class org.activemq.ActiveMQSession |
acknowledge, addConsumer, addProducer, afterMessageDelivered, beforeMessageDelivered, checkClosed, clearDeliveredMessages, clearMessagesInProgress, close, createBrowser, createBrowser, createBytesMessage, createConsumer, createConsumer, createConsumer, createConsumerInfo, createDurableSubscriber, createDurableSubscriber, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createProducer, createProducerInfo, createPublisher, createQueue, createReceiver, createReceiver, createSender, createStreamMessage, createSubscriber, createSubscriber, createTemporaryQueue, createTemporaryTopic, createTextMessage, createTextMessage, createTopic, dispatch, doAcknowledge, doClose, getAcknowledgeMode, getDeliveryListener, getMessageListener, getSessionId, getSessionStats, getStartTime, getStats, getTransactionContext, getUnconsumedMessages, hasUncomsumedMessages, isClientAcknowledge, isInternalSession, isTarget, isTransacted, recover, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, removeConsumer, removeProducer, removeTemporaryDestination, run, send, setDeliveryListener, setInternalSession, setMessageListener, setSessionConsumerDispatchState, setSessionId, setStartTime, setTransactionContext, start, stop, unsubscribe |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.jms.Session |
close, createBytesMessage, createConsumer, createConsumer, createConsumer, createDurableSubscriber, createDurableSubscriber, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createProducer, createStreamMessage, createTemporaryTopic, createTextMessage, createTextMessage, createTopic, getAcknowledgeMode, getMessageListener, recover, run, setMessageListener, unsubscribe |
ActiveMQXASession
public ActiveMQXASession(ActiveMQXAConnection theConnection,
int theAcknowlegeMode)
throws javax.jms.JMSException
getTransacted
public boolean getTransacted()
throws javax.jms.JMSException
- Description copied from class:
ActiveMQSession
- Indicates whether the session is in transacted mode.
- Specified by:
getTransacted
in interface javax.jms.Session
- Overrides:
getTransacted
in class ActiveMQSession
rollback
public void rollback()
throws javax.jms.JMSException
- Description copied from class:
ActiveMQSession
- Rolls back any messages done in this transaction and releases any locks currently held.
- Specified by:
rollback
in interface javax.jms.Session
- Overrides:
rollback
in class ActiveMQSession
commit
public void commit()
throws javax.jms.JMSException
- Description copied from class:
ActiveMQSession
- Commits all messages done in this transaction and releases any locks currently held.
- Specified by:
commit
in interface javax.jms.Session
- Overrides:
commit
in class ActiveMQSession
getSession
public javax.jms.Session getSession()
throws javax.jms.JMSException
- Specified by:
getSession
in interface javax.jms.XASession
getXAResource
public javax.transaction.xa.XAResource getXAResource()
- Specified by:
getXAResource
in interface javax.jms.XASession
getQueueSession
public javax.jms.QueueSession getQueueSession()
throws javax.jms.JMSException
- Specified by:
getQueueSession
in interface javax.jms.XAQueueSession
getTopicSession
public javax.jms.TopicSession getTopicSession()
throws javax.jms.JMSException
- Specified by:
getTopicSession
in interface javax.jms.XATopicSession
doStartTransaction
protected void doStartTransaction()
throws javax.jms.JMSException
- This is called before transacted work is done by
the session. XA Work can only be done when this
XA resource is associated with an Xid.
- Overrides:
doStartTransaction
in class ActiveMQSession