前言:之前为公司写了一个信访局来访人员信息登记系统,是用struts+hibernate实现的。然而部署在服务器上之后,用户总是反映隔一天就登不上系统了,重启服务器和数据库就好使了。网上找了一种解决办法,亲测可用,希望帮到遇到同样问题的朋友。
解决方法:
1、修改mysql数据库的配置文件(即my.ini文件):在[mysqld]下面加两句:
wait_timeout=31536000
interactive_timeout=31536000
这两句话是延迟数据库等待时间和交互时间。
2、在hibernate的配置文件(hibernate.cfg.xml)的属性配置加如下几句:
<property name="connection.autoReconnect">true</property>
<property name="connection.autoReconnectForPools">true</property>
<property name="connection.is-connection-validation-required">true</property>
这是设置超过8小时访问数据库时进行自动连接。
至此,就解决了数据库8小时不操作断开连接的问题,也就是用户反映登录不成功的问题。