项目运行过程中时不时会出现某些sql执行异常的情况,异常打印出来是:IO 错误: Connection reset。由于proxool也是初次使用,上网查询了一下,解决方法如下:
在连接池配置中增加以下两项,即在使用连接前测试一下连接是否可用,以免出现Connection reset异常。
<house-keeping-test-sql>select 1 from dual</house-keeping-test-sql>
如果发现了空闲的数据库连接.house keeper 将会用这个语句来测试.这个语句最好非常快的被执行.如果没有定义,测试过程将会被忽略。
<test-before-use>true</test-before-use>
如果为true,在每个连接被测试前都会服务这个连接,如果一个连接失败,那么将被丢弃,另一个连接将会被处理,如果所有连接都失败,一个新的连接将会被建立。否则将会抛出一个SQLException异常。
现在项目已经修改并部署上去了,需要观察一天。
参考资料:
http://gavinshaw.iteye.com/blog/736609
http://wallimn.iteye.com/blog/486550
http://hi.baidu.com/dobodo/item/7d95e3384d181cc4392ffab5
网友评论