打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Cannot get a connection, pool error Timeout waiting for idle object
我的应用经常过了一段时间出现Cannot get a connection, pool error Timeout waiting for idle object我怀疑是我哪边的连接使用不当,有点hold不住。可是项目那么多 使用数据库的地方,我要怎么来定位可能出错的地方呢??有没有高手曾经见到过类似的问题呀!指教一二哈!多谢多谢!

    你是在用DBCP吗? 你的逻辑里面是否有下面这些的情况: 方法A里面获得一个连接,然后做一些DB操作。然后释放该连接。但是方法A里面调用了方法B。方法B的逻辑和方法A的类似。

    这样有可能出现:一个连接在没有被释放的情况下,又去申请一个新连接。运行一段时间之后连接池耗光。就会出现类似的问题。 

    如果你的应用里面有这种用法,赶紧改了把。不改怎么调参数都不能根本解决问题。

    至于你说的多次传递引用,我的观点是:一个DB连接用完了就赶紧释放,不要占用太长的时间。如果连接占用时间过长,会影响你整个系统的稳定性。毕竟池子里面就那么多连接。

    最后一点个人的感受:最好不要直接用DBCP。对程序员有很多要求。需要大家沟通好。一旦你的程序写的有问题,调试起来麻烦。低级一点的用DBUtils,高级一点的用mybatis或者hibernate。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Spring Boot配置属性列表
Tomcat JDBC pool源码部析 (2)
docker拉取慢(net/http: request canceled while waiting for connection (Client.Timeout exceeded while awa
C#百万数据查询超时问题
测试ConnectionString是否能连接上数据库服务器
ExecutorService线程池
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服