"ovidiu.feodorov(a)jboss.com" wrote :
| On one hand, the fixes for JBMESSAGING-410 and JBMESSAGING-520 insure that a JMS
session created using a JMS connection produced by the JCA connection factory behaves as
NON-TRANSACTED in absence of a global JTA transaction.
|
| This is an intuitive behavior, users rely on it, JBossMQ behaves similarly, and
reportedly, other JMS providers as well.
|
There is actually nothing in the spec about this behaviour.
The XA stuff is massively underspecified in the JMS spec.
And of course it is optional whether a JMS impl supports XA.
The JBossMQ behaviour is to assume that an XASession behaves like
AUTO_ACKNOWLEDGE when the XASession is not enlisted in a JTA transaction.
(Some JMS implements throw an exception in this case).
There is one exception to this. When the XASession is being used as part of
a ServerSessionPool, the semantics need to be receive then enlist.
So for this, the XASession behaves like there is a transaction, it will be told
later what XID to use for the 2PC protocol.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004783#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...