Guys,
HornetQ has its own RA adapter for MDB's and we have a question regarding the spec and
the ejb3 implementation you may be able to answer.
This is regarding section 12.5.6 of the JCA spec.
Originally we used Option B and used the beforeDelivery/afterDelivery methods on
MessageEndpoint to control transaction demarcation etc.
We have recently changed this however to use Option A, we did this so we could have more
control over the transactions so we could add things like local tx optimization,
transaction batching etc. According to the spec with option A you don't call
beforeDelivery/afterDelivery, you can see this clearly in figure 12-7 that this
doesn't occur.
The problem is that because we don't call these methods the Thread Context Classloader
no longer gets set, so the question is this! Is the spec slightly ambiguous here, should
we always call before/afterDelivery to do this. I would have thought that if we didn't
call these then the MessageEndpoint proxy would still set the TCL before calling the MDB
onMessage method.
Any input would be appreciated!
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255121#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...