我使用tomcat jdbc池(带有removeAbandonTimeout = 12mins)和spring。在事务边界内,Spring Tran Manager将连接绑定到一个线程。这反过来意味着在边界开始处从池获取的连接不会返回到池,直到事务边界(提交/回滚)结束。这对于定义了tran管理器的数据源上的conn来说听起来不错。
在tran边界内(在数据源1上)以非事务方式查询的其他数据源上创建的连接也限制在线程中,因此不会返回到池,直到tran边界结束。
问题:鉴于没有尝试在事务管理器中来自其他数据源的连接上进行回滚,为什么spring绑定了与该线程的连接并剥夺了其他线程重新使用该连接的权限?