176500: Race condition in AtomikosNonXADataSourceBean
Fixed a race condition where non-xa connections could be borrowed by 2 concurrent threads under high load, leading to errors in the log like this:
java.sql.SQLException: Can't call commit when autocommit=true176184: CleanupFilter: also log before and after request information
For our Tomcat integration we now also log a bit more: before and after each request.
176289: Tomcat thread reuse: also cleanup Spring's ThreadLocal state
In module transactions-spring, we have added two new filters:
- com.atomikos.spring.CleanupPendingThreadLocalStateFilter and
- com.atomikos.spring.CleanupPendingTransactionContextFilter
These can be used to cleanup pending Spring state. Normally this is done by Spring's JtaTransactionManager, but in case of pending transactions on a Tomcat request thread, the Spring transaction cleanup may not happen. In those cases, you need these filters or you will see weird warnings like these:
WARNING: Attempt to use connection after it was closed.Adding these filters should prevent that.

Add a comment