gpt4 book ai didi

java - NamedParameterJdbcTemplate + TomCat,打开和关闭数据库连接

转载 作者:行者123 更新时间:2023-11-28 22:21:41 29 4
gpt4 key购买 nike

我在 TomCat 服务器上部署了一个 Spring MVC 项目,但我一直遇到与数据库的连接问题。几个小时后,当用户尝试登录时,他们将遇到 500 错误和此消息:

HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException: The last packet successfully received from the server was 75,026,904 milliseconds ago. The last packet sent successfully to the server was 75,031,521 milliseconds ago. is longer than the server configured value of 'wait_timeout'.

我认为问题是因为 TomCat 认为与 MySQL 的连接仍然打开,但是 MySQL 在 8 小时后关闭了连接。收到此错误后刷新页面后,一切正常。

我的问题是,有没有办法让我用来查询数据库的 NamedParameterJdbcTemplate 在每次使用时打开和关闭连接,而不是维护一个持久连接?或者有没有更好的方法来解决这个问题?

也许设置 autoReconnect=true?我现在正在尝试这个,但我需要几个小时才能知道它是否有效。

最佳答案

假设您正在使用 Tomcat 的连接池,您可以将池设置为 testOnBorrow="true"和 validationQuery="SELECT 1 FROM my_test_table"。这样,连接将在线程 check out 之前进行检查。如果它关闭,另一个将被打开并提供给为您的请求提供服务的线程。您可以阅读 Tomcat 提供的选项的文档 here .

关于java - NamedParameterJdbcTemplate + TomCat,打开和关闭数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858565/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com