Ok ignore my previous message as that appears to be a separate issue.

The problem with the transaction not started errors had not gone away but
was simply not occurring, it came back on Friday but I now believe I have
the root cause of the issue.

The Atomikos JTA Properties documentation defines a property:

com.atomikos.icatch.tm_unique_name

The solution was to set this in each web application to a unique value.

The documentation states it is used when:

"you plan to run more than one transaction manager against one database you
must set this property to a unique value or you might run into duplicate
transaction ID (XID) problems."

Well because we were running three separate Tomcat applications on the same
machine they were all using the same unique_name based on the machine's IP
address.

None of these were sharing Atomikos logs so we did not think this property
was an issue.

As all our Tomcat (separate instances) were all connected to the same
ActiveMQ instance, ActiveMQ was receiving XIDs from different applications
that were the same.  This seems to be the source of the "Transaction not
started" errors generated by Atomikos.

This is also a subtle issue as it does not necessarily always occur.

It was more likely to occur when we moved to three separate Tomcat instances
as opposed to two.

It also seemed to be more likely to happen when the 3 instances were started
very close to each other as opposed to being staggered in their start-up.

I hope this helps someone else out so they do not have to go through this
pain!

--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Transaction-not-started-XA-problems-tp3565540p3593386.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to