web应用mysql闲置后超时JDBC操作异常处理

异常问题情况描述

第一天应用服务器正常运行并且保持这种运行(系统中只有测试人员,应用处于Active-busy状态),(中间晚间没有任何人使用该系统,那么相当于Sleep&wait)第二天测试用户从C/S或B/S访问后台报错。错误信息如下:



如果用户每次访问之前都重启一次Tomcat server,这个是可以保证没问题的,所以可以排除是非服务端的问题,那么就可以得出是数据库在某种情况的发起的数据库连机失效了。

MySQL的会话超时设置
interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。又见wait_timeout 。
wait_timeout
:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义),又见interactive_timeout 。
如此看来,两个变量是共同控制的,那么都必须对他们进行修改了。
在MySQL中,应用会话连接有超时设置,之前没有遇到过此类问题,所以今天在此总结一下。
MySQL超时有好几种,如下图所示:( 注:这里的interactive_timeout 值是我修改过的,一般设置超时时间为一年(365days),也就是31536000s.


修改interative_timeout和wait_timeout

修改后:

注:这里的wait_timeout可能溢出了允许范围,所以值为2147483,这个只有MySQL知道是怎么回事。

另外,还可以修改配置文件windows下my.ini文件,在文件下加两行interactive_timeout=设置值     wait_timeout=设置的值  然后重启mysql服务。

参考文章地址:http://www.shuyangyang.com.cn/jishuliangongfang/shujuku/2013-03-10/63.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值