我heard it said一个好的JDBC连接池在返回连接回池时应该调用rollback
。目的是解决任何可能仍然未决的事务。
Tomcat JDBC Connection Pool
8中的Tomcat执行此操作,还是执行其他操作来清除任何待处理的待处理事务?
我试过阅读the Tomcat 8.0.24 source code †。拦截器,代理,包装和子类的使用比我可以遵循更多的意大利面。调用池连接的close
方法时,我无法确定行为,就像使用try-with-resources代码(AutoClosable
)的常见JDBC代码一样。
† apache-tomcat-8.0.24-src > modules > jdbc-pool > src > main > java > org > apache > tomcat > jdbc > pool
文件夹。
答案 0 :(得分:1)
为什么在阅读the documentation时阅读来源?
rollbackOnReturn
(boolean)如果autoCommit == false,则池可以通过在连接上调用回滚来终止事务,因为它返回到池默认值为false。