【发布时间】:2020-02-11 05:18:12
【问题描述】:
在 Spring Boot 中,有没有办法验证 DataSourceAutoConfiguration 创建的 Datasource 是否有效以及是否可以创建连接?
我们正在使用 Spring Boot 2.1.2 以及 Hikari 3.2.0 和 Flyway 5.2.4。
我遇到的问题是,当我们的数据源无法访问时,我想发出警报。这可能是由于数据库未正确命名或在应用程序仍在初始化时 RDS 服务器已关闭。
我对启动顺序的理解是:
- Spring Boot 初始化数据源
- Flyway 运行迁移
- 数据库连接池已初始化
- 休眠初始化
我想做的是在 Flyway 运行之前验证在步骤 1 中创建的数据源。 Flyway 确实有一个回调系统,但它仅在迁移运行时有效,而在无法从数据库获得连接时无效。我知道 SpringBoot 提供的 DataSourceHealthIndicator,但据我所知,这仅在调用 Actuator 端点时运行。有没有办法验证数据源(创建新连接)或强制在 Flyway 自动配置之前调用 DataSourceHealthIndicator?
【问题讨论】:
标签: spring-boot datasource flyway