tomcat每过几天就会没有响应,查看cpu是100%的状态,查看log发现是mysql报错了
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
这个异常说是用的数据库连接池没有正确的设置超时时间,但是我并没有使用数据库连接池呀

解决方案 »

  1.   

    解决MySQL连接超时Communications link failure due to underlying exception
      

  2.   

    mysql默认的连接超时时间是8小时.可以用以下语句查看:
    show variables like 'wait_timeout';
      

  3.   

    学习下...
    我运行了下,show variables like 'wait_timeout'
    得到的value为: 28800
    顺便问下3L,它是以什么为单位咯.谢谢.
      

  4.   



    如果没有配置wait_timeout这个变量,通过show variables like 'wait_timeout'默认查询出来的就是28800,单位是秒,即8小时。如果你的数据库连接一直开着的话,8小时之后这个连接就断开了,如果再使用的话就会报楼主的那个错误
    可以在mysql的配置文件my.in最后面加上
    wait_timeout=2880000,即800小时最根本的原因是没有及时释放数据库链接,可以采用数据源设定数据库连接失效时间