我正在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'.我该怎么解决它呢?
应该在hibernate配置文件上添加I wait_timeout吗?我应该在我的数据库上更改一些东西吗?
谢谢:)
发布于 2018-07-30 20:32:24
您的servlet和MySQL服务器之间的连接正在超时,因为它使用得不够频繁。
如果您的servlet有很高的工作负载(如果它为许多web用户提供服务),解决此问题的最好方法是让连接池工作。这有点复杂,但由于包括性能在内的许多原因,这是值得的。这当然是从servlet使用JDBC连接的最常见方式。连接池隐藏了这些超时问题。
如果您的工作负载较低,则可以通过在每次需要时打开MySQL连接并在使用完毕时将其关闭来解决此问题。
或者,您可以设置一个异常处理程序,以便在遇到类似这样的错误时关闭并重新打开连接。
或者,您可以设置某种基于时间的服务,以便使用您的连接执行简单的MySQL操作。
这也可能会有所帮助。Java+Tomcat, Dying database connection?
https://stackoverflow.com/questions/51579517
复制相似问题