【发布时间】:2022-05-17 14:36:44
【问题描述】:
用例
我们的 spring-boot-backend (v 2.3.1) 使用带有 HikariCP 作为连接池的 postgres 数据库。
应用程序在线,管理员不小心杀死了数据库。
预期行为
Spring 注意到与 DB 的连接已丢失。应用程序将正常关闭。
实际行为
春天仍在运行。所有需要数据库的方法都以异常结束。
要恢复完全好的状态,我们需要手动重启spring。
备注
我们有很多异步工作人员,当数据库重新上线时,他们无法正确恢复。
并且 docker/kubernetes 会在应用关闭时通知并自动重启。
问题
我怎样才能达到预期的行为?
可悲的是,我在网上找不到类似的东西。
【问题讨论】: