Steve, This is the test case that I was talking about on IRC. It simulates what happens when several remote EJB calls occur using the same JTA transaction. This case is probably common enough that we should solve it.
The workaround is to set hibernate.jta.track_by_thread=false. On 06/24/2014 10:23 PM, Scott Marlow wrote: > I pushed a test case that simulates what can happen with remote EJB > invocations that share the same JTA transaction & EntityManager. The > "Transaction was rolled back in a different thread!" error [2] is thrown > but shouldn't be, since the active application thread has changed to a > different thread (which can happen). The workaround is to set > "hibernate.jta.track_by_thread" to false. > > I think that we need to save the thread id at the start of every > application call into the EntityManager. > > Scott > > [1] https://github.com/scottmarlow/hibernate-orm/tree/sametx_multithreads > > [2] https://gist.github.com/scottmarlow/63c4ab686368853d759b > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev