quickstart中连接池timeBetweenEvictionRunsMillis minEvictableIdleTimeMillis 两个参数没有效果。在超过mysql wait_timeout的时候,再次访问数据库就报错。报错如下:
The last packet successfully received from the server was 222,866 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago.
没想到在这里碰到你了,幸会……
关于问题:
1、给配置种增加 autoReconnect=true的选项试试
2、如果还是不行的话,修改mysql配置文件吧!加上with_timeout选项给定一个值,参考: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout
1、试过了没效果。2、不想用这种方式解决。3、换成dbcp的数据源可以自动重练。但是tomcatjdbcpool不行。应该是参数配置上的错误。解决办法是:增加配置<propertyname="minIdle"value="0"/>
<beanid="dataSource"class="org.apache.tomcat.jdbc.pool.DataSource"destroy-method="close">
<propertyname="driverClassName"value="${jdbc.driver}"/>
<propertyname="url"value="${jdbc.url}"/>
<propertyname="username"value="${jdbc.username}"/>
<propertyname="password"value="${jdbc.password}"/>
<propertyname="minIdle"value="0"/>
<propertyname="defaultAutoCommit"value="false"/>
<!--连接Idle一个小时后超时-->
<propertyname="timeBetweenEvictionRunsMillis"value="3600000"/>
<propertyname="minEvictableIdleTimeMillis"value="3600000"/>
</bean>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。