小编典典

检查数据库的运行状况时,收到“ RecoverableDataAccessException”的原因是什么?

spring-boot

我正在使用spring-boot和oracle数据库。

关于访问http://localhost:8888/health健康端点,我得到以下响应:

{"status":"DOWN","error":"org.springframework.dao.RecoverableDataAccessException: ConnectionCallback; SQL []; Closed Connection; nested exception is java.sql.SQLRecoverableException: Closed Connection"}

在搜索上述问题的详细信息时,我发现了此链接https://github.com/spring-projects/spring-
boot/issues/1303。它详细描述了该问题,但其中非常简短地提到了解决方案部分。

正如我们在上述来源中所看到的,这是新状态下的问题。一旦我观察到即使返回了此异常,应用程序仍继续将记录插入数据库。

我们如何解决上述异常及其对正在运行的启动应用程序的影响?


阅读 2198

收藏
2020-05-30

共1个答案

小编典典

您需要配置Tomcat JDBC连接池以测试连接。这应该防止数据库运行状况指示器因断开的连接而被卡住。

您可以通过在application.properties中添加一些配置来实现。例如:

spring.datasource.test-on-borrow: true
spring.datasource.validation-query: SELECT 1 FROM DUAL
spring.datasource.log-validation-errors: true
2020-05-30