在tomcat应用程序中等待\u超时

bq3bfh9z  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(278)

我正在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 conf文件上添加i wait\u超时吗?我应该在我的数据库上更改一些东西吗?
谢谢:)

izkcnapc

izkcnapc1#

servlet和mysql服务器之间的连接正在超时,因为使用频率不够。
如果servlet的工作负载很高(如果它服务于许多web用户),那么解决这个问题的最佳方法就是让连接池工作。这是一个有点复杂,但它是值得麻烦的许多原因,包括性能。从servlet使用jdbc连接肯定是最常见的方法。连接池隐藏了这些超时问题。
如果您的工作负载较低,您可以通过在每次需要时打开mysql连接并在使用完毕后关闭它来解决此问题。
或者,您可以设置一个异常处理程序,在出现这样的错误时关闭并重新打开连接。
或者您可以设置某种基于时间的服务来使用您的连接执行简单的mysql操作。
这可能也有帮助。java+tomcat,正在消亡的数据库连接?

相关问题