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