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?
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With