如何使用 Java JDBC 连接池?
Posted
技术标签:
【中文标题】如何使用 Java JDBC 连接池?【英文标题】:How to use Java JDBC connection pool? 【发布时间】:2011-01-11 12:58:31 【问题描述】:我想使用 JDBC 连接池。最重要的因素是它易于使用且没有错误。什么适合我?
【问题讨论】:
【参考方案1】:另一个不错的选择是Apache Database Connection Pool。
您将使用 JNDI 命名服务将连接从池中取出,而不是使用 DriverManager 获取连接。
请务必关闭您的资源 - Connection、Statement 和 ResultSet。否则,您的池将很快耗尽。
【讨论】:
【参考方案2】:也可以看看BoneCP;网站上有一些示例。
【讨论】:
【参考方案3】:我建议c3p0(在DBCP 上确实有serious issues):它工作得很好,积极维护 并且易于使用。也许看看这个previous question 了解更多关于此的信息。
更新:我承认我在写这个答案时没有检查状态(我使用 c3p0 很多年并且对此感到满意)并且似乎 c3p0 开发处于立场经过。有趣的是,作为参考提到的previous question 已在 2010-03-12 更新,以提及 DBCP 开发再次活跃。因此,我的原始帖子可能已过时。
【讨论】:
c3p0 真的在积极维护吗?最新版本是 2007-05-21 的 0.9.1.2。 @Arne 该死的,你是对的。 DBCP 已经复活了。我已经更新了我的答案...【参考方案4】:我已将此MiniConnectionPoolManager 与H2 和Derby 一起使用。
【讨论】:
【参考方案5】:2 年后... 刚刚迁移到jdbc-pool(现在是 Tomcat 7 的标准),在 Web 应用程序或整个服务器中独立实现它非常容易。根据规格和我的经验,它的性能优于 c3p0。
根据规格,它也比 dbcp 或 c3p0 干净得多。
【讨论】:
以上是关于如何使用 Java JDBC 连接池?的主要内容,如果未能解决你的问题,请参考以下文章
如何监控数据库连接池(JDBC Connection Pool)