如何在 Spring 中自动重新连接 DataSource 连接?

How to automatically reconnect a DataSource connection in Spring?

问题:当我的 spring 应用程序是 运行,同时数据库服务器是 stopped/restarted,然后数据库连接丢失并且 永远不会 已恢复。

我测试如下:

问题:如何让springDataSource在连接丢失后自动重新连接?

这是我的配置:

spring.datasource.url=jdbc:mysql://localhost/tablename?useSSL=false
spring.datasource.username=root
spring.datasource.password=rootpw
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.validation-query-timeout=5000
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.test-on-connect=true

糟糕,我的配置有误。上面的配置是自动重新连接所需的全部。

我正在使用像 HikariCP 这样的连接池来自动重新连接。

查看 Whosebug 上的示例:How do I configure HikariCP in my Spring Boot app in my application.properties files?