[jboss-dev-forums] [Design of JBoss Transaction Services] - JTA/JTS thread disassociation semantics

jhalliday do-not-reply at jboss.com
Wed Jan 21 12:13:20 EST 2009


With the local JTA impl, Transaction.[commit()|rollback()] don't do Thread disassociation, whilst TransactionManager.commit()|rollback()] do. Thus

transactionmanager.begin();
transactionmanager.getTransaction().rollback();
transactionmanager.getStatus();

results in STATUS_ROLLEDBACK. Which is all well and good.

Now substitute the JTS implementation and run the same code again.

Any guesses?

yup, that right: STATUS_NO_TRANSACTION.

This is compliant with the JTA spec, which mandates thread disassociation for the TransactionManager but says nothing about Transaction.

On the other hand its got the potential to break things. Indeed it does break the JCA, which has transaction context checking on the connections which is insufficiently robust to cope with this.

So, do we change the JTS or just document it and move on?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4203731#4203731

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4203731



More information about the jboss-dev-forums mailing list