|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
XASession extends the capability of Session by adding access to a JMS
provider's support for 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; 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.
Session
Fields inherited from interface javax.jms.Session |
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE |
Method Summary | |
void |
commit()
Throws TransactionInProgressException since it should not be called for an XASession object. |
boolean |
getTransacted()
Is the session in transacted mode? |
XAResource |
getXAResource()
Return an XA resource to the caller. |
void |
rollback()
Throws TransactionInProgressException since it should not be called for an XASession object. |
Methods inherited from interface javax.jms.Session |
close, createBytesMessage, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createStreamMessage, createTextMessage, createTextMessage, getMessageListener, recover, run, setMessageListener |
Method Detail |
public XAResource getXAResource()
public boolean getTransacted() throws JMSException
getTransacted
in interface Session
JMSException
- if JMS fails to return the transaction
mode due to internal error in JMS Provider.public void commit() throws JMSException
commit
in interface Session
TransactionInProgressException
- if method is called on
a XASession.public void rollback() throws JMSException
rollback
in interface Session
TransactionInProgressException
- if method is called on
a XASession.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |