mysql链接超时
博客专区 > xiaoqqq 的博客 > 博客详情
mysql链接超时
xiaoqqq 发表于3年前
mysql链接超时
  • 发表于 3年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

使用c3p0+mysql时, 遇到以下问题:

Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

原因: mysql中每个数据库连接都有个超时时间, 在my.ini中可以看到, 具体配置项为wait_timeout。

当mysql链接超过wait_timeout配置后, mysql将中断链接, 此时,连接池还用此链接来访问数据库, 就会超时。

解决办法:

1. 增加wait_timeout的值。

2. 将c3p0的testConnectionOnCheckout设置为true。

3. 将maxIdleTime设置小于wait_timeout。

从优化的角度来看, 在服务器允许的情况下尽量将wait_timeout 设置稍微大点, 如30天, 可以减少mysql释放连接、新建链接的次数。第3条可以使部分c3p0链接在失效前释放。

共有 人打赏支持
粉丝 10
博文 49
码字总数 28582
×
xiaoqqq
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: