数据库连接异常Cannot get a connection, pool error Timeout waiting for idle object

中文解释

无法获取连接,连接池等待空闲对象超时错误

原因1

应用程序没有很好的关闭使用后的连接

方案1:

请检查自己的应用程序是否正确关闭了数据库连接,注意一定要放到finally中关闭

方案2:

如果确实无法排查出具体哪些代码没有关闭数据库连接,可以通过配置参数完成自动回收,并记录回收日志,以便于定位问题代码;tomcat中连接池的配置自动回收参数为:removeAbandoned、 removeAbandonedTimeout、logAbandoned三个。

原因2

应用压力过大,确实无法获取空闲连接

方案1:

这种情况可以调整maxActive、maxIdle、maxWait等连接池的容量和超时限制等参数以获取更大的连接池容量和等待时间。

参考资料

下面以tomcat配置sqlserver的连接池为例进行参数说明

关于tomcat连接池参数以及参数说明,请参考:http://static.helloworld114.com/pages/essay/38437.html

<Resource 

            name=" test " 

            auth="Container" 

            type="javax.sql.DataSource" 

            maxActive="500" 

            maxIdle="30" 

            maxWait="10000" 

            username="sa" 

            password="sa" 

            driverClassName="net.sourceforge.jtds.jdbc.Driver" 

            url="jdbc:jtds:sqlserver://127.0.0.1:1433/test;selectMODE=cursor"

             removeAbandoned="true"

removeAbandonedTimeout="60"

logAbandoned="true"

         />

本文转载自:http://static.helloworld114.com/pages/exception/4.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值