mysql超时失效c3p0_解决c3p0和MySQL集成情况下,连接长时间闲置后重新使用时报错的问题...
MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常。
解决这个问题的办法有三种:
1. 增加 MySQL 的 wait_timeout 属性的值。
修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置:
# Set a connection to wait 8 hours in idle status.
wait_timeout = 86400
2. 减少连接池内连接的生存周期,使之小于上一项中所设置的 wait_timeout 的值。
修改 c3p0 的配置文件,设置:
# How long to keep unused connections around(in seconds)
# Note: MySQL times out idle connections after 8 hours(28,800 seconds)
# so ensure this value is below MySQL idle timeout
cpool.maxIdleTime=25200
在 Spring 的配置文件中:
3. 定期使用连接池内的连接,使得它们不会因为闲置超时而被 MySQL 断开。
修改 c3p0 的配置文件,设置:
# Prevent MySQL raise exception after a long idle time
cpool.preferredTestQuery='SELECT 1'
cpool.idleConnectionTestPeriod=18000cpool.testConnectionOnCheckout=true
修改 Spring 的配置文件:
附:以下 awk 脚本可以用以将 c3p0.properties 文件中的属性设置转换成为 applicationContext.xml 中 数据库连接池 DataSource 所需的 XML 元素形式。
QUOTE:
#!/bin/awk
BEGIN {
FS="="}
{
if (NF == 2) {
if ((x=index($1, ".")) > 0) {
property_name = substr($1, x+1, length($1)); } else {
property_name = $1 }
printf(" ", property_name, $1); }
}
mysql超时失效c3p0_解决c3p0和MySQL集成情况下,连接长时间闲置后重新使用时报错的问题...相关推荐
- 解决 c3p0 和 MySQL 集成情况下,连接长时间闲置后重新使用时报错的问题
MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效.在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话, ...
- android apt最新版本,解决Android studio 2.3升级到Android studio 3.0 后apt报错问题
解决Android studio 2.3升级到Android studio 3.0 后apt报错问题 发布时间:2020-09-16 19:59:42 来源:脚本之家 阅读:62 作者:哈特中尉 1. ...
- mysql MDL锁如何解决_理解MySQL的MDL元数据锁
一.MDL锁的作用 MySQL DBA 对于 Waiting for table metadata lock 肯定不会陌生,一般都是进行 alter 操作时被堵住了,导致了我们在 show proce ...
- 不能连接MySQL服务主机3306_解决centos的mysql服务3306端口无法远程连接10038问题
之前一期说过在centos下安装宝塔控制面板,当登陆进去新建了数据库,然后在windows使用navicat for mysql 远程连接数据库一直失败,没有解决就先用阿里的RDS先用着,直到近期找到 ...
- python mysql写入速度加快_解决python写入mysql中datetime类型遇到的问题
解决python写入mysql中datetime类型遇到的问题 发布时间:2020-08-31 16:46:47 来源:脚本之家 阅读:89 作者:WilliamDescant 刚开始使用python ...
- 阿里mysql连接_[转]解决阿里云mysql不能连接,配置mysql远程连接
默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h local ...
- mysql 开发 生产_在没有表锁定的情况下在巨大的MySQL生产表...
[2017]更新:MySQL 5.6支持在线索引更新 In MySQL 5.6 and higher, the table remains available for read and write o ...
- shiro如何保证session不失效_请问在不加锁的情况下如何保证线程安全?
概念 compare and swap,解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数--内存位置(V).预期原值(A)和新值(B).如果内存位置的值与预期原值相匹配,那么 ...
- mysql 超时问题的解决办法
问题: com.mysql.jdbc.CommunicationsException: The last packet successfully received from the server w ...
最新文章
- mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句
- 车企纷抢无人驾驶赛道,中国智能汽车确定将立法
- Asp.Net 上传大文件专题(3)--从请求流中获取数据并保存为文件[下]
- 【2006-4】【木偶玩具】
- bat遍历当前目录下的文件,批量重命名
- ubuntu 将 python 设定为python3, pip设定为pip3
- python能做哪些单机游戏好玩_【单机游戏】可以快速用Python进行数据分析的几个小技巧_玩得好游戏攻略...
- python的高级函数_Python的高级函数
- 编译我的hello.ko
- Django REST Framework API Guide 07
- Updating Homebrew... ...长时间卡住的问题
- 系统出错, 发生系统错误 1067, 进程意外终止. 解决方法
- Ubuntu 18.04安装Apollo 6.0:从零开始到启动Demo(超多细节)
- 2019 GDUT 新生专题I选集 L题(CodeForces - 1260B)
- 今天开始学Java 如果统计的个数相同,则按照ASII码由小到大排序输出 。
- linux下安装python3报错_Linux中安装python3
- 输入一个字符串,将其逆序输出。
- 全球最大成人网站公布年度榜单!原来lsp最爱看的是这种片……
- 我是没有口袋的哆啦a梦
- 什么灯适合学生在暑假使用?照度国AA级的舒适护眼灯
热门文章
- PHP - 获取音频长度
- Java多线程学习(二)---线程创建方式
- Javascript:字符串分割split()妙用
- vCenter Server Appliance 5.5忘记root密码
- IRP_MJ_CREATE
- “百度杯”CTF比赛 十月场 Hash 复现
- 关于web.xml的格式
- 架构师速成7.6-高中书单资料推荐
- Apache ab压力测试工具
- python中if __name__ == '__main__': 的解析