c3p0连接池配置文件中maxIdleTime小于数据库的timeout时间,为什么还会出现了使用了数据库已经超时的连接

小菜牙 2018-06-07 11:02:19
在项目中报错:The last packet successfully received from the server was 81843482 milliSeconds,the last packer send successfully to the server wes 81843482 milliseconds ago,is longer than the server configured values of "wait_timeout".......


配置文件中配置的有:spring.datasource.maxIdleTime=1800

数据库里面的timeOut_time 是28800,

理论上不是应该不会出现这种情况么?
数据库连接上配置的还有autoReconnect=trrue,

很是困惑,跪求各位大神能指明可能问题原因
...全文
1840 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
朝 花 拾 夕 2018-11-07
  • 打赏
  • 举报
回复
maxIdleTime是jdk的threadpoolexecutor的keepalivetime,keepalivetime是指当前线程总数超过corePoolSize,会将空闲时间超过maxIdleTIme的thread杀死知道线程总数为corePoolSize。你没看到线程回收,应该是线程总数没有达到corePoolSize。只有线程数达到corePoolSize,并且taskQueue队列满了才会添加worker线程。 https://m.aliyun.com/yunqi/ask/18064/
zjcxc 2018-06-12
  • 打赏
  • 举报
回复
你的 wait_timeout 是 28800 sec?81843482 ms 是超过 了啊
小菜牙 2018-06-07
  • 打赏
  • 举报
回复
自己顶一下,跪求啊,各位老铁

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧