最近项目中使用连接池连接MySQL数据库, 过了8小时没人使用之后再使用就报错了
网上看了很多种解决方法, 但是没有满意答案
1. 修改mysql wait_timeout 配置
经理不让修改mysql配置. 据说最大也就修改为27天, 也是不大完美的方案.
2. jdbc url 添加authoReconnect=true.
无效 . 据说是mysql 5.0之前才支持
3. 设置maxIdleTime小于wait_timeout
使用Fabric, 其中设置maxIdle, 结果无效
4. 启动线程定时查询
每隔一段时间查询一次数据库, 这样做只会, 发现只有一个连接仍然可用,
连接池中的其他链接仍然不可用. 所以我猜想, 如果想通过这种方式完成,
就要遍历连接池中的所有连接, 不知如何实现.
综上, 应该如何解决这个问题?
MySQL8小时自动断开连接
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答
- cluo_dev 2015-04-10 01:40关注
建议去查一下validationQuery和testOnBorrow两个配置属性,应该能解决你的问题。
validationQuery SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,
则查询必须是一个SQL SELECT并且必须返回至少一行记录
testOnBorrow true 指明是否在从池中取出连接前进行检验,如果检验失败,
则从池中去除连接并尝试取出另一个.本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?