开发中出现的异常com.mysql.jdbc.CommunicationsException

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发中出现的异常com.mysql.jdbc.CommunicationsException相关的知识,希望对你有一定的参考价值。

web开发遇到的异常:

com.mysql.jdbc.CommunicationsException:The last packet successfully received from the server was58129 seconds ago.Thelast packet sent successfully to the server was 58129 seconds ago, which islonger than the server configured value of ‘wait_timeout‘. You should considereither expiring and/or testing connection validity before use in yourapplication, increasing the server configured values for client timeouts, orusing the Connector/J connection property ‘autoReconnect=true‘ to avoid thisproblem.


解决办法:

如果连接闲置8小时 (8小时内没有进行数据库操作), mysql就会自动断开连接, 要重启tomcat.

不用hibernate的话, connection url加参数: autoReconnect=true


hibernate的话, 加如下属性: 

<propertyname="connection.autoReconnect">true</property>

<propertyname="connection.autoReconnectForPools">true</property>

<propertyname="connection.is-connection-validation-required">true</property>

 

要是还用c3p0连接池:

<propertyname="hibernate.c3p0.acquire_increment">1</property>

<propertyname="hibernate.c3p0.idle_test_period">0</property>

<propertyname="hibernate.c3p0.timeout">0</property>

<propertyname="hibernate.c3p0.validate">true</property>

 


或者最王道的解决办法,那就是直接修改mysql的配置文件my.ini 在配置文件的最后增加wait_timeout=343232后面的数字是以秒计算。改个10100年多方便的。


以上是关于开发中出现的异常com.mysql.jdbc.CommunicationsException的主要内容,如果未能解决你的问题,请参考以下文章

springboot中添加全局异常捕获类

做开发的过程中,搞着搞着出现异常了,这可怎么办

三大框架开发时,spring配置文件出现异常

android开发怎么会出现数据库错误

常见java开发异常总结

EasyNVR通过iframe分享视频播放出现加载异常的问题解决