Spring - Transaction Management - Connection bounded to thread even without transaction in place

268 Views Asked by At

I'm using tomcat jdbc pool (with removeAbandonTimeout = 12mins) with spring. Within a transaction boundary, Spring Tran Manager bounds the connection to a thread. This in turn means the connection got from the pool at the start of the boundary is not returned to the pool till the end of Transaction boundary (commit/rollback). This sounds ok for the conn on the data source on which the tran manager is defined.

A connection created on other data sources that query in a non-transactional manner within the tran boundary(on data source1) is also bounded to the thread and hence not returned to the pool till the tran boundary end.

Question: Given that rollback is not attempted on connections from other datasources in the transaction manager, why should spring bound a connection to the thread and deprive other threads from re-using the connection?

0

There are 0 best solutions below