[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Bug in transactional delivery in an MDB (Repost)
clebert.suconic@jboss.com
do-not-reply at jboss.com
Tue Apr 24 23:46:17 EDT 2007
I just realized http://jira.jboss.org/jira/browse/JBMESSAGING-410 was rejected. I thought it was fixed.
I opened a new issue http://jira.jboss.org/jira/browse/JBMESSAGING-946 linking both of them.
I'm committing a proposed fix. Basically I'm doing this test within SessionAspect:
public Object handleSend(Invocation invocation) throws Throwable
| {
| SessionState state = getState(invocation);
| Object txID = state.getCurrentTxId();
|
| if (state.isXA() && !(txID instanceof LocalTx) || (!state.isXA() && state.isTransacted()))
|
Both my integration tests and TCK worked with this change. I will run the testsuite now.
For fixing this I tried also changing SessionState constructor, to not create the local transaction if XA (as it was the original version as I could see on history)... but then the txID existence was tide up with other sanity checks and I got exceptions in other places. I tried to fix those and some testcases were failing. The fix above was the less invasive as possible (without requiring much refactoring).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4040419#4040419
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4040419
More information about the jboss-dev-forums
mailing list