【发布时间】:2014-01-13 12:55:49
【问题描述】:
昨天偶遇HikariCP,花了一晚上的时间研究。我对fine tuning 的实现和设计所付出的大量细节和努力印象深刻。
直截了当,我无法确定它如何实际处理那些被检查回池的连接,它们的autoCommit 设置为false,而commit() 和rollback() 都没有在它们上发出,例如,由于异常。对于下一个请求者来说,这可能是许多严重事务问题的根源,他们期望一个新的连接,但不幸地收到了这个带有悬空事务状态的连接。
虽然 C3P0 和 Tomcat 的 JDBC 池为此目的(通过配置或拦截)有一些所谓的 Knobs,但我在 HikariCP 的文档或支持组中找不到任何内容。如果我错了,请纠正我,但是编写一个简单的单元测试表明池对此没有任何作用。
我需要知道这个观察是否真的正确,并且我没有遗漏任何信息。另外,如果有任何计划在 HikariCP 中解决这个问题,因为这对我来说很重要。
谢谢。
【问题讨论】:
-
在github上问作者更有可能得到答案。
标签: java jdbc transactions connection-pooling hikaricp