[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Bug in transactional delivery in an MDB
timfox
do-not-reply at jboss.com
Thu Apr 26 14:05:12 EDT 2007
This is what we need to work out:
"adrian at jboss.org" wrote :
|
| 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.
The question I still don't understand is how does the XASession know it is being used as part of the ServerSessionPool, so it can apply the different behaviour.
Looking through the code, I can't for the life of me work out how this information is passed from the ServerSessionPool to the session.
Can anyone (Adrian? Weston?) shed any light on this. This is becoming a bit of a blocker for us.
So to recap:
We have an XASession that is not enlisted in a global tx.
In the case that XASession is created using a ServerSessionPool we want it to fall back to local transaction semantics. For all other cases we want it to have AUTO_ACK semantics.
How does the session know which semantics to follow in the absence of a global tx?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4041124#4041124
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4041124
More information about the jboss-dev-forums
mailing list