5

我正在使用 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。它详细描述了这个问题,但它非常简短地提到了解决方案部分。

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

我们如何解决上述异常以及它对正在运行的引导应用程序有什么影响?

4

1 回答 1

9

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

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

spring.datasource.test-on-borrow: true
spring.datasource.validation-query: SELECT 1 FROM DUAL
spring.datasource.log-validation-errors: true
于 2014-11-24T15:59:03.310 回答