使用 jpa-hibernate 解决 Spring Boot 中的数据库连接中断
错误消息表明您的 Spring Boot 应用程序与 MySQL 数据库之间的连接存在问题由于不活动超过服务器配置的等待超时而已终止。为了解决这个问题,有几种推荐的方法:
1.启用自动重新连接:
立即的解决方案是在 JDBC URL 中启用自动重新连接:
spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true
但是,不建议使用此方法,因为它可能会导致在活跃交易。
2.连接验证:
更有效的方法是在应用程序的整个生命周期中启用连接验证。配置以下属性:
最大活动连接数:
spring.datasource.max-active=10
初始连接数:
spring.datasource.initial-size=5
空闲连接限制:
spring.datasource.max-idle=5 spring.datasource.min-idle=1
验证查询和计时:
spring.datasource.test-while-idle=true spring.datasource.test-on-borrow=true spring.datasource.validation-query=SELECT 1 spring.datasource.time-between-eviction-runs-millis=5000 spring.datasource.min-evictable-idle-time-millis=60000
此配置可确保定期验证空闲连接以及断开的连接已从池中移除。
3. HikariCP 连接池:
Spring Boot 2.x 默认使用 HikariCP 作为连接池。 HikariCP 提供自动连接验证,因此验证查询属性可以省略。
注意:虽然不鼓励使用验证查询,但 HikariCP 有自己的连接验证方法,这更方便高效。
以上是如何解决Spring Boot JPA/Hibernate数据库连接中断?的详细内容。更多信息请关注PHP中文网其他相关文章!