错误信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown.
这个问题在我们日常的web程序开发中已经是常见的问题了,对于具体的问题原因我这边总结了两条,希望对在Java Wbe开发中遇到同样问题的小伙伴们有所帮助。
问题一:MySQL默认空闲等待时间(8个小时)太短
具体的解决办法(参考网上的文章):
增加wait_timeout的时间。
减少Connection pools中connection的lifetime。
测试Connection pools中connection的有效性。
解决方法是修改mysql5的配置文件“my.ini”中的[mysqld],后面添加上: wait_timeout=1814400 ,重新启动mysql5。
解决方法是修改mysql5的配置文件“my.ini”中的[mysqld],后面添加上: wait_timeout=1814400 ,重新启动mysql5。
问题二:web项目部署的服务器网络不稳定所导致
我当时的原因是,找了好久才找到,原来是我项目部署的机子的所在网络不稳定导致的。
解决办法:
查看网络连接状态,是否会出现时断时连的情况。
参考文章:
http://www.cnblogs.com/interdrp/p/4177648.html
http://bbs.csdn.net/topics/370160435