dbcp在数据库不可用时返回连接时出现问题

时间:2010-03-16 04:33:04

标签: database database-connection apache-commons-dbcp

我发现以下链接是由erickson于2009年1月29日发布的:

Is DBCP (Apache Commons Database Connection Pooling) still relevant?

“DBCP存在严重缺陷。我认为它不适合生产应用程序,特别是当这么多驱动程序本身支持其DataSource中的池时。

在我的情况下,打破了骆驼背部的稻草,当我发现整个游泳池被锁定时,一直都是对数据库进行新的连接尝试。因此,如果您的数据库发生某些事情导致连接速度慢或超时,则当其他线程尝试将连接返回到池时会被阻止 - 即使它们是使用数据库完成的。“

我想知道自从这篇文章以来,dbcp是否有很多变化或改进。我在生产系统中看到了这个严重的问题。

有没有人有dbcp的替代品?我在数据库连接框架中使用它...基本上,我继承了一个框架,工程师认为重写hibernate会很有趣。不要问......这是一个漫长而肮脏的故事。无论如何,当数据库缓慢/关闭时,我遇到了这些问题,并将连接返回到池中。任何想法,建议,替代方案?

1 个答案:

答案 0 :(得分:0)

尝试BoneCP:http://jolbox.com

对于你的情况,它有释放帮助程序线程,它将负责缓慢地释放连接或其他什么。