我正在阅读c3p0和dbcp用于处理jdbc连接并听到很多问题和人们说dbcp已经死了但是c3p0不能做jdbc4等等。但我不知道这些帖子是否过时了。
现在我点击了BoneCP,它解释了如何处理断开的连接here。连接被包装,BoneCP在将异常传递给应用程序之前会对异常进行一些预先检查。如果连接出现问题,BoneCP会将其从池中删除。
1。)所有这些池都有这种连接处理吗?
2。)这个问题一遍又一遍地被问到,但我从2011年找不到任何答案。我将使用什么来申请新的申请,如果不是更多的话,将在未来10年内保留。
答案 0 :(得分:2)
1。)我不知道dbcp但是关于C3P0这个功能确实存在于C3P0PooledConnection类中(查看invoke方法,如果你想了解更多有关精确处理的细节,就会捕获并处理异常)可以添加它们)。我还需要知道它是否包含它以删除testOnCheckin / Checkout并且我验证它包含此行为。
2.)真的很难说,因为一方面C3P0被广泛用于许多生产场所,维护者已经恢复了积极的开发,但另一方面,BoneCP似乎有一些非常有趣的设计原则(例如池分片) )和一些讨人喜欢的基准。因为你通常从你的连接池库中有一个非常好的间接(大部分依赖包含在一个或两个配置文件中)我可以建议从一个开始,一旦你有一个实际数据的生产尝试优化它并与之比较另一个图书馆(当然也进行了优化)。您选择的任何一个库都可能足以满足您的需求。