2011/2012中的Java JDBC连接池库选择?

Vla*_*sny 71 connection-pooling jdbc c3p0 bonecp apache-commons-dbcp

我应该将哪个JDBC连接池库用于新的应用程序项目(而不是Web应用程序)?

我应该选择BoneCP吗?我没有任何巨大的要求.我只需要一个好的,易于使用的数据库连接池,即正在开发中.图书馆,作者可以回复错误报告,回答一些具体问题等.

顺便说一下,实际上,我只使用MySQL.我发现,MySQL驱动程序支持DriverManager接口,但我不确定它是否实际上是连接池.

Bal*_*usC 42

你做了很好的研究.我会说,继续使用BoneCP.几年前我会建议c3p0,但它目前还有一些开放和未解决的问题.太糟糕了,实际上.该BoneCP作者是也积极的方式在这里的SO.

  • 自从你第一次发布这个答案2年以来,情况发生了很大的变化,现在我认为没有一个CP库正在积极开发中,如果可能的话,请你添加一个共享当前场景的更新吗?你今天会选择什么? (2认同)

Juh*_*älä 14

可以使用没有Tomcat的Tomcat连接池,只需要几个.jars就可以包含在任何软件中.我已成功将Tomcat连接池与ResinJetty应用程序服务器一起使用.

  • 是的,这似乎是正确的:http://ci.apache.org/projects/tomcat/tomcat7/docs/jdbc-pool.html#Standalone (3认同)

Sim*_*hev 10

另一种选择是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的作者.


Bha*_*odi 7

我知道它的答案为时已晚,但我发现了一个有趣的链接,它提供了更广泛的范围来回答大多数问题.但最终HikariCPBoneCP比其他选择要好得多.

  • 顺便说一句,对于一个好的答案来说永远不会太迟;) (2认同)