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.