【问题标题】:Resetting DB connection in Spring boot at runtime after getting connection closed关闭连接后在运行时在 Spring Boot 中重置数据库连接
【发布时间】:2026-02-10 09:15:02
【问题描述】:

我在为 db2 数据库运行的 spring boot 应用程序中收到错误 connection reset。重新启动应用程序后,连接开始工作。
如果我收到connection closedconnection reset 错误,我需要在运行时重新连接到数据库。

最好的方法是什么? 我正在使用 Hikari 连接池,是否有一些属性允许检查数据库连接..如果损坏..然后重新连接。 或者像 @RefreshScope 这样的一些 Spring Boot 配置会在配置更改后重新创建 bean。任何可能在这种情况下有帮助的 Spring Boot bean?

感谢您的帮助。

【问题讨论】:

  • 启用空闲连接验证。
  • 谢谢 .. 我想知道在 Spring Boot 中我们有属性 @RefreshScope 属性可以在配置更改的情况下自动重新创建 bean。有什么可用于封闭连接的吗?或者我需要编写自己的方法来检查连接是否关闭,然后再次创建数据库连接。
  • 如上所述,为空闲连接启用连接验证。
  • 嗨 M. Deinum,感谢您的回复。我已将 idleTimeout 设置为 120000 和 maxLifetime 设置为 130000,ConnectionTmeout 设置为 300000 .. 仍然将连接标记为损坏的异常。如何启用空闲连接验证?我的驱动支持jdbc4,所以没有设置验证查询

标签: java database spring-boot database-connection


【解决方案1】:

我有同样的问题,我尝试为 hiraki 配置参数,但仍然连接已关闭。 你可以通过这个链接https://www.linkedin.com/pulse/spring-boot-retry-database-connection-startup-abdelghani-roussi?articleId=6723332249346981888

试试

【讨论】: