Top Description Fields Methods
jakarta.jms

public Interface XASession

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

The XASession interface extends the capability of Session by adding access to a Jakarta Messaging 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 Jakarta Messaging provider must fully implement this functionality. This could be done by using the services of a database that supports XA, or a Jakarta Messaging provider may choose to implement this functionality from scratch.

A client of the application server is given what it thinks is a regular Jakarta Messaging Session. Behind the scenes, the application server controls the transaction management of the underlying XASession.

The XASession interface is optional. Jakarta Messaging providers are not required to support this interface. This interface is for use by Jakarta Messaging 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
Jakarta Messaging 2.0
See Also
jakarta.jms.Session

Field Summary

Inherited from jakarta.jms.Session:
AUTO_ACKNOWLEDGECLIENT_ACKNOWLEDGEDUPS_OK_ACKNOWLEDGESESSION_TRANSACTED

Method Summary

Modifier and TypeMethod and Description
public void
commit()

Redeclares jakarta.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 jakarta.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 jakarta.jms.Session.rollback.

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

Method Detail

commitback to summary
public void commit() throws JMSException

Redeclares jakarta.jms.Session.commit.

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

Annotations
@Override
Exceptions
JMSException:

Doc from jakarta.jms.Session.commit.

if the Jakarta Messaging 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 jakarta.jms.Session.getTransacted.

Indicates whether the session is in transacted mode.

Returns:boolean

true

Annotations
@Override
Exceptions
JMSException:
if the Jakarta Messaging 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 jakarta.jms.Session.rollback.

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

Annotations
@Override
Exceptions
JMSException:

Doc from jakarta.jms.Session.rollback.

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

TransactionInProgressException:
if the method is called on an XASession.