What is the cause of “RecoverableDataAccessExcepti

2019-04-11 22:13发布

I am using spring-boot along with oracle database.

On accessing http://localhost:8888/health health end-point, I get following response:

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

While searching for the above issue details, I found this link https://github.com/spring-projects/spring-boot/issues/1303. It describes the issue in detail but it has very brief mention the resolution part.

As we can see at the above mentioned source that it is an issue in new state. Once I observed that even though this exception was returned in response, application continued to insert records into database.

How can we resolve above exception and what are its impacts on the boot application which is running?

1条回答
兄弟一词,经得起流年.
2楼-- · 2019-04-11 22:43

You need to configure the Tomcat JDBC connection pool to test connections. This should prevent the DB health indicator from being left stuck with a broken connection.

You can do so by adding some configuration to application.properties. For example:

spring.datasource.test-on-borrow: true
spring.datasource.validation-query: SELECT 1 FROM DUAL
spring.datasource.log-validation-errors: true
查看更多
登录 后发表回答