jdbc – 当连接返回到池时,BoneCP(或任何其他池)是否会关闭连接的语句?

当连接返回到池时,BoneCP(或任何其他池)是否会关闭连接的语句?据我所知,它不会调用实际连接的close方法,因此没有自动语句关闭.那么,它是以任何其他方式关闭语句还是我需要手动关闭它们?
最佳答案
JDBC规范很清楚在正常连接关闭时应该发生什么,因此,无论您使用哪个池,您都应该始终确保手动关闭语句.如果您选择在将来切换到不符合预期的池,请考虑您的应用程序会发生什么.

至于BoneCP,答案是否定的,它不会为你关闭你的陈述,虽然它可以被配置为在忘记时关闭你的连接.这是出于性能原因,因为如果关闭连接,某些JDBC驱动程序将在内部关闭任何仍然活动的语句.

但是,如果启用了语句缓存,BoneCP将关闭所有缓存的语句.

编辑:从v0.8.0开始,已添加支持以关闭未关闭的语句(如果需要,打印出打开语句的位置的堆栈跟踪).

转载注明原文:jdbc – 当连接返回到池时,BoneCP(或任何其他池)是否会关闭连接的语句? - 代码日志