paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out

作者Attilax  艾龙,  EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax

最开始,卡死,不动了,,使用jprofile, thread dump...原来是在getconn()在wait..默认

添加设置
# 当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出    
# SQLException,如设为0则无限期等待。单位毫秒,默认为0
c3p0.checkoutTimeout=10000

此时,取得conn不到报错。c3p0连接错误 An attempt by a client to checkout a Connection has timed out

----根本原因: 池中的连接已经被全部使用完了..达到了最大maxconn...从而导治这个错误...

----其他原因:忘记close conn,或者异常了而没有close conn,没有释放conn从池中。。...导治池中的conn满的了...

、、、、、解决方法:  
a.适当加大maxPoolSize和minPoolSize  ,可以大大缓解这种情况。。
c3p0.maxPoolSize=5000
c3p0.minPoolSize=10

b.检测代码 close conn..释放conn...当然这个总是有遗漏.最小化这个影响就好..

c.自动超时回收Connection (强烈推荐)
c3p0.unreturnedConnectionTimeout=25
default : 0 单位 s
为0的时候要求所有的Connection在应用程序中必须关闭。如果不为0,则强制在设定的时间到达后回收
Connection,所以必须小心设置,保证在回收之前所有数据库操作都能够完成。这种限制减少Connection未关闭
情况的不是很适用。为0不对connection进行回收,即使它并没有关闭。

d.配置超时自动断开conn (推荐)
c3p0.maxIdleTimeExcessConnections=20
c3p0.maxConnectionAge=20
default : 0 单位 s
配置连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃掉。当然正在使用的连接不会马上断开,而是等待
它close再断开。配置为0的时候则不会对连接的生存时间进行限制。

e.最后,show full processlist  ..查看db conn数,,稳定后走ok...否则适当调整以上参数..

------------还有一种说法。c3p0.max_statements 设置成0 可以解决。时间忙,没有验证。。。

网上很多说是C3P0的bug问题。c3p0在同时关闭statement和connection的时候,或者关闭他们之间的时间很短的时候,有时候connection并没有被关闭,因为有些preparedstatement还在被cached住。这样就会有很多connection并没有真正的被关闭,连接池的连接都给耗尽了,就会产生上面的异常。解决的方案就是把缓存关闭也就是把c3p0.max_statements 设置成0,这样就不会有缓存的preparedstatement,而设置的c3p0.idle_test_period又小于c3p0.timeout,这样的设置应该没有什么问题了。

paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out相关推荐

  1. c3p0 SQLException: An attempt by a client to checkout a Connection has timed out异常

    异常信息: ### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: ...

  2. 关于c3p0报错:An attempt by a client to checkout a Connection has timed out

    An attempt by a client to checkout a Connection has timed out: 网上关于这个异常的处理方式有多种,最常见的是关于连接池的问题,但是并不是所 ...

  3. 关于c3p0报错:An attempt by a client to checkout a Connection has timed out.

    四月 09, 2019 4:37:15 下午 com.mchange.v2.log.MLog 信息: MLog clients using java 1.4+ standard logging. 四月 ...

  4. c3p0连接错误 An attempt by a client to checkout a Connection has timed out.

    问题http://chembo.iteye.com/blog/905233 mysql最大连接数设置 http://zhidao.baidu.com/link?url=8YXlt73Ktr6pRD_i ...

  5. C3P0 连接问题 An attempt by a client to checkout a Connection has timed out.

    如果你遇到这样的报错: 以上问题主要是因为包的问题引起的,要保证你所需要的包保证一致. 解决以上问题后,因为你之前已经使用了很多的连接 会超过30 那么这个时候就需要你就需要用unreturnedCo ...

  6. [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等...

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. Java数据库开发与应用之MySQL数据库、JDBC操作数据库、C3P0数据库连接池,Java反射等

    MySQL数据库,JDBC接口,MyBatis框架等,掌握的数据的存放和管理. Java数据库开发基础,介绍MySQL数据库.JDBC操作数据库.C3P0数据库连接池,Java反射等内容,进行油画商城 ...

  8. c3p0 数据库连接池

    C3P0连接池 c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.c3p0一般是与Hibernate,Spring等框架一块使用的,当然也可以 ...

  9. 数据库连接池种类、C3P0数据库连接池、德鲁伊数据库连接池

    数据库连接池种类 1.JDBC的数据库连接池使用javax.sql.DataSource来表示,DataSource只是一个接口,该接口通常由第三方提供实现 2.C3P0数据库连接池,速度相对较慢,稳 ...

  10. 数据库连接池 DBCP和c3p0数据库连接池

    一.数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接. 这样的方式会导致用户每次请求 ...

最新文章

  1. 8张图带你深入理解Java
  2. 深度操作系统 15 Beta——每一处都在“靓”变
  3. JBoss Modules 模块描述文件解析
  4. 如何处理non-resolvable parent POM的错误
  5. windows 搭建python 虚拟环境 写程序_Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同)...
  6. 网页设计趋势:模糊背景在网站中的经典应用案例
  7. c++低通数字滤波器_快速扫盲之一阶RC低通数字滤波器算法实现
  8. 计算机基础(十):git仓库管理命令小结
  9. 再启程,Service Mesh 前路虽长,尤可期许
  10. 【AI视野·今日CV 计算机视觉论文速览 第193期】Fri, 7 May 2021
  11. TVS和ESD那些事儿
  12. 华为设备推送syslog到日志服务器配置
  13. 独立开发一款简单的安卓app
  14. ECharts 饼图颜色设置教程 - 4 种方式设置饼图颜色
  15. python中如何使用云片网发送短信验证码
  16. Android版本手机怎么截屏,安卓手机怎么截屏的4种方法
  17. Scikit-learn API:train_test_split函数 将数据分割为训练集和测试集
  18. Photoshop——多变量+文字数据组替换+批处理详细操作
  19. Unity3D Content Size Fitter的坑
  20. 八、Linux全套大总结

热门文章

  1. ZStack实践汇 | ZStack平台的使用心得
  2. rhel6.x版本和rehel7.x版本破解密码及恢复损坏的文件分区
  3. centos6上 tengine本地代理gitlab服务器部署
  4. 江苏省政府投资基金集聚区落地,基金目标规模再增1500亿
  5. JavaScript 学习笔记4
  6. javascript遍历对象属性和方法
  7. 整合hibernate4到spring4mvc框架
  8. CopyTo 方法详解
  9. spring mvc 解决中文response乱码
  10. Symfony2Book16:Symfony2内部03-事件调度