2011/2012年将选择Java JDBC连接池库吗?


71

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

我应该选择BoneCP吗?我没有什么大要求。我只需要一个良好且易于使用的数据库连接池,即正在开发中。库,其作者可以答复错误报告,回答某些特定问题等。

顺便说一句,实际上,我只使用MySQL。我已经发现,MySQL驱动程序支持DriverManager接口,但是我不确定它是否实际上汇集了连接。


7
为什么“ Apache Tomcat Pool在没有Tomcat的情况下看起来无法使用”?您可以将其下载为单独的模块。据我了解,它也打算在Tomcat之外使用。
a_horse_with_no_name 2012年

1
c3p0已复活,并且是非常活跃的atm(github.com/swaldman/c3p0
AleksanderBlomskøld2012年

2
Tomcat的连接池绝对可以在Tomcat之外使用。
matt b

1
很棒的清单,正是我一直在寻找的东西。尽管缺少一名竞争者:HikariCP
Sergei

@谢尔盖很好的一句话。请注意,光只有6个月大。我非常希望这个项目能够继续成熟并得到积极发展。
Vladislav Rastrusny 2014年

Answers:


42

您已经进行了很好的研究。我会说,继续使用BoneCP。几年前,我曾建议过c3p0,但目前它也存在一些未解决的未解决问题。实际上太糟糕了。该BoneCP笔者顺便也活跃在这里的SO。


2
自从您首次发布此答案的两年以来,情况发生了很大变化,现在我认为没有一个CP库正在积极开发中,请问是否可以添加共享当前场景的更新?您今天会选择什么?
Rajat Gupta

目前,我不建议当前版本的BoneCP(0.8)。我已经在生产环境中运行了两天,它是令人无法接受的 越野车。如果可以选择使用Java 7,我将使用HikariCP。
Matt Ball

@Matt:谢谢您的反馈!2013/2014年的选择确实会有所不同。
BalusC 2014年

1
截至2014年,DBCP的速度甚至比BoneCP还要快:github.com/brettwooldridge/HikariCP
Chris


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的作者。


7

我知道现在回答还为时已晚,但我刚刚找到了一个有趣的链接,它为您回答大多数问题提供了广阔的范围。但是最终,HikariCPBoneCP比其他选择要好得多。


@FractalizeR如果它的好答案比在投票方面应该有很好的回应:)无论如何,我发现它非常适合将来使用,所以与我分享。
巴尔加夫·莫迪2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.