一尘不染

Java JDBC的连接池选项:DBCP与C3P0

java

可用于Java / JDBC的最佳连接池是什么?

我正在考虑2个主要候选人(免费/开源):

我已经在博客和其他论坛上阅读了很多有关它们的内容,但无法做出决定。

这两个有其他相关选择吗?


阅读 325

收藏
2020-02-29

共1个答案

一尘不染

DBCP已过时,而不是生产级。不久前,我们对这两者进行了内部分析,创建了一个测试夹具,生成了针对这两者的负载和并发性,以评估它们在现实生活条件下的适用性。

DBCP始终在我们的测试应用程序中生成异常,并努力达到C3P0能够无任何异常处理的性能水平。

C3P0还可以稳健地处理数据库断开连接和恢复时的透明重新连接,而如果从其下方拔出链接,则DBCP永远不会恢复连接。更糟糕的是,DBCP会将连接对象返回到基础传输中断的应用程序。

从那时起,我们已经在4个主要的重负荷消费者Web应用程序中使用了C3P0,并且从未回过头。

更新:事实证明,经过多年搁置,Apache Commons员工使DBCP脱离了hibernate状态,现在它又是一个积极开发的项目。因此,我的原始帖子可能已过时。

话虽这么说,我还没有体验过这个新的升级库的性能,也没有听说过它在任何最新的应用程序框架中都是事实。

2020-02-29