我应该将哪个JDBC连接池库用于新的应用程序项目(而不是Web应用程序)?
-
Apache DBCP的enough unresolved issues被推到2.0我认为 .
-
C3P0发展似乎停止了 .
-
他们俩都是looks relatively slow .
-
Proxool已经死了 .
-
DBPool几乎没有社区(至少我找不到公共社区 - 没有论坛,没有邮件列表......)
没有Tomcat, -
Apache Tomcat Pool看起来无法使用
-
我在Oracle网站上发现了SQL Datasources文章,但似乎它只适用于在servlet和Web服务等容器中运行的applet .
我应该选择BoneCP吗?我没有任何巨大的要求 . 我只需要一个好的,易于使用的数据库连接池,即处于活动开发阶段 . 图书馆,作者可以回复错误报告,回答一些具体问题等 .
顺便说一句,实际上,我发现,MySQL驱动程序supports DriverManager接口,但我不确定它是否实际上是池连接 .
4 回答
你've done good research. I'说,继续使用BoneCP . 几年前我会建议c3p0,但它目前也有some open and unresolved issues . 太糟糕了,实际上 . 在此,BoneCP作者也是活跃的here .
可以使用没有Tomcat的Tomcat连接池,只需要几个.jars就可以包含在任何软件中 . 我已成功将Tomcat连接池与Resin和Jetty应用程序服务器一起使用 .
另一种选择是Vibur DBCP . 这是一个基于Java动态代理的新的并发JDBC连接池 . 它速度快,具有简洁的源代码,支持公平参数,JDBC语句缓存,长时间运行的SQL查询日志记录以及许多其他功能 .
Vibur DBCP在中央Maven仓库中可用,该网站显示了所需的Maven依赖关系,各种配置示例(使用Spring,Hibernate 3.x / 4.x / 5.x)以及所有配置选项 .
Vibur DBCP需要Java 1.7 .
免责声明:我是Vibur DBCP的作者 .
我知道它的答案为时已晚,但我发现了一个有趣的link,它提供了更广泛的范围来回答你的大多数问题 . 但最后 HikariCP 和 BoneCP 比其他选项要好得多 .