javax.jms
Interface XASession

All Known Subinterfaces:
XAQueueSession, XATopicSession

public abstract interface XASession
extends Session

XASession extends the capability of Session by adding access to a JMS provider's support for JTA. 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; etc.

An XAResource provides some fairly sophisticated facilities for interleaving work on multiple transactions; recovering a list of transactions in progress; etc. 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.

Version:
1.0 - 13 August 1998
Author:
Mark Hapner, Rich Burridge
See Also:
Session

Fields inherited from class javax.jms.Session
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE
 
Method Summary
 javax.transaction.xa.XAResource getXAResource()
          Return an XA resource to the caller.
 
Methods inherited from interface javax.jms.Session
close, commit, createBytesMessage, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createStreamMessage, createTextMessage, createTextMessage, getMessageListener, getTransacted, recover, rollback, setMessageListener
 
Methods inherited from interface java.lang.Runnable
run
 

Method Detail

getXAResource


public javax.transaction.xa.XAResource getXAResource()
Return an XA resource to the caller.
Returns:
an XA resource to the caller