Top Description Fields Methods
javax.jms

public Interface XASession

extends Session
Known Direct Subinterfaces
javax.jms.XATopicSession, javax.jms.XAQueueSession
Imports
javax.transaction.xa.XAResource

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.

Since
JMS 1.0
Version
JMS 2.0
See Also
javax.jms.Session

Field Summary

Inherited from javax.jms.Session:
AUTO_ACKNOWLEDGECLIENT_ACKNOWLEDGEDUPS_OK_ACKNOWLEDGESESSION_TRANSACTED

Method Summary

Modifier and TypeMethod and Description
public void
commit()

Redeclares javax.jms.Session.commit.

Throws a TransactionInProgressException, since it should not be called for an XASession object.
public Session

Returns:

the session object
getSession
()

Gets the session associated with this XASession.

public boolean

Returns:

true
getTransacted
()

Redeclares javax.jms.Session.getTransacted.

Indicates whether the session is in transacted mode.
public XAResource

Returns:

an XA resource to the caller
getXAResource
()

Returns an XA resource to the caller.

public void
rollback()

Redeclares javax.jms.Session.rollback.

Throws a TransactionInProgressException, since it should not be called for an XASession object.
Inherited from javax.jms.Session:
closecreateBrowsercreateBrowsercreateBytesMessagecreateConsumercreateConsumercreateConsumercreateDurableConsumercreateDurableConsumercreateDurableSubscribercreateDurableSubscribercreateMapMessagecreateMessagecreateObjectMessagecreateObjectMessagecreateProducercreateQueuecreateSharedConsumercreateSharedConsumercreateSharedDurableConsumercreateSharedDurableConsumercreateStreamMessagecreateTemporaryQueuecreateTemporaryTopiccreateTextMessagecreateTextMessagecreateTopicgetAcknowledgeModegetMessageListenerrecoverrunsetMessageListenerunsubscribe

Method Detail

commitback to summary
public void commit() throws JMSException

Redeclares javax.jms.Session.commit.

Throws a TransactionInProgressException, since it should not be called for an XASession object.

Exceptions
JMSException:

Doc from javax.jms.Session.commit.

if the JMS provider fails to commit the transaction due to some internal error.

TransactionInProgressException:
if the method is called on an XASession.
getSessionback to summary
public Session getSession() throws JMSException

Gets the session associated with this XASession.

Returns:Session

the session object

Exceptions
JMSException:
if an internal error occurs.
Since
JMS 1.1
getTransactedback to summary
public boolean getTransacted() throws JMSException

Redeclares javax.jms.Session.getTransacted.

Indicates whether the session is in transacted mode.

Returns:boolean

true

Exceptions
JMSException:
if the JMS provider fails to return the transaction mode due to some internal error.
getXAResourceback to summary
public XAResource getXAResource()

Returns an XA resource to the caller.

Returns:XAResource

an XA resource to the caller

rollbackback to summary
public void rollback() throws JMSException

Redeclares javax.jms.Session.rollback.

Throws a TransactionInProgressException, since it should not be called for an XASession object.

Exceptions
JMSException:

Doc from javax.jms.Session.rollback.

if the JMS provider fails to roll back the transaction due to some internal error.

TransactionInProgressException:
if the method is called on an XASession.