gpt4 book ai didi

java - MySql 超时 - 我应该在 Spring 应用程序中设置 autoReconnect=true 吗?

转载 作者:可可西里 更新时间:2023-11-01 07:47:27 30 4
gpt4 key购买 nike

我的网站(使用 Spring 2.5 和 MySql)闲置一段时间后,出现以下错误:

org.springframework.dao.RecoverableDataAccessException:最后一个成功发送到服务器的数据包是在 52,847,830 毫秒前。比服务器配置的“wait_timeout”值长。在您的应用程序中使用之前,您应该考虑过期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用连接器/J 连接属性“autoReconnect=true”来避免此问题。

根据 this question , 和 linked bug ,我不应该只设置 autoReconnect=true。这是否意味着我必须在我执行的任何查询中捕获此异常,然后重试该事务?该逻辑应该在数据访问层还是模型层?有没有一种简单的方法来处理这个问题,而不是包装每个查询来捕获这个问题?

最佳答案

我建议您改用连接池。它们提高了性能并且可以处理低级别的细节,例如超时后重新连接等。

一个好的是c3p0 , 但还有其他人。 Spring 有support for that ,虽然我不知道所有的细节。 Here是 Spring 的 DataSource 的配置。

关于java - MySql 超时 - 我应该在 Spring 应用程序中设置 autoReconnect=true 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406517/

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