0 0

spring +mybatis系统运行时有时会失去数据库连接,如何处理异常5

spring mvc的系统,应用了mybatis,系统运行时有时会失去数据库连接,页面出现500错误,出现No operations allows after connection closed的异常,如何在spring整体配置中解决这个问题?
2014年8月07日 23:43

4个答案 按时间排序 按投票排序

0 0

楼上那个数据库连接池策略是比较优雅的解决方案,当然参数需要按需微调。
页面出现堆栈信息是因为你代码里缺少try catch,原则上至少在controller层每个方法都要用try cache套住,不过你这里可能不合适,要少动代码噢。所以spring提供了良好的解决方案,在spring配置中配上统一异常处理器,指定你的异常类型,会帮你跳转到设置的错误页面。但即便是这样,你的数据库连接池依然全部是坏死的连接。如果不想重启tomcat的话,只能多点几次页面,因为连接失败后,连接会被扔掉,最终你一定会连上那些新创建的好的连接。。

2014年8月09日 01:22
0 0

Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection

可以进行配置:
validationQuery = "select 1"

testWhileIdle = "true"

//some positive integer
timeBetweenEvictionRunsMillis = 3600000

//set to something smaller than 'wait_timeout'
minEvictableIdleTimeMillis = 18000000

//if you don't mind a hit for every getConnection(), set to "true"
testOnBorrow = "true"

也可以参考网上资料

2014年8月08日 17:30
0 0

检查下代码,看是不是有代码关闭了链接。ps:有没有使用到连接池 ?

2014年8月08日 13:17
0 0

配置成长连接,并实时监测连接的有效性

2014年8月08日 07:07

相关推荐

Global site tag (gtag.js) - Google Analytics