我正在tomcat服务器(JSP + Servlet + Hibernate(MYSQL))中构建一个应用程序,但是当我测试该应用程序时,经过24小时后,我收到了此错误。
The last packet successfully received from the server was 59,480,937 milliseconds ago. The last packet sent successfully to the server was 59,480,937 milliseconds ago. is longer than the server configured value of 'wait_timeout'.
我该如何解决?
应该在休眠conf文件上添加我wait_timeout吗?应该在数据库上更改我的内容吗?
谢谢:)
答案 0 :(得分:1)
您的servlet和MySQL服务器之间的连接正在超时,因为它使用得不够频繁。
如果您的servlet工作量大(如果它为许多Web用户提供服务),则解决此问题的最佳方法是使连接池正常工作。这有点复杂,但是由于许多原因(包括性能),值得付出麻烦。当然,这是使用来自servlet的JDBC连接的最常用方法。连接池隐藏了这些超时问题。
如果工作量很低,则可以通过每次需要时打开MySQL连接并在使用完毕后将其关闭来解决此问题。
或者,您可以设置一个异常处理程序以在遇到此类错误时关闭并重新打开连接。
或者您可以设置某种基于时间的服务,以使用连接来执行简单的MySQL操作。
这也可能有所帮助。 Java+Tomcat, Dying database connection?