首页 > 数据库 > mysql教程 > 如何解决Spring Boot JPA/Hibernate数据库连接中断?

如何解决Spring Boot JPA/Hibernate数据库连接中断?

Patricia Arquette
发布: 2024-12-09 18:33:15
原创
712 人浏览过

How to Resolve Spring Boot JPA/Hibernate Database Connection Interruptions?

使用 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板