Spring Boot执行器中的DataSourceHealthIndicator问题

时间:2014-07-21 19:37:43

标签: spring spring-boot

查看DataSourceHealthIndicator的源代码,如果它无法找出数据库,它将使用默认查询" SELECT 1;"到数据源的健康状态。

此查询在我的环境中失败。如何配置HealthCheckEndpoint以使用DatasourceHealthIndicator自定义查询。

1 个答案:

答案 0 :(得分:3)

您可以使用名称HealthIndicator定义自己的dbHealthIndicator,并使用它来代替默认值,例如

@Bean
public HealthIndicator dbHealthIndicator() {
    DataSourceHealthIndicator indicator = new DataSourceHealthIndicator(dataSource());
    indicator.setQuery("Your Query Here");
    return indicator;
}

请注意,您可能需要to share所使用的数据库类型和版本以及适合的查询,以便可以开箱即用。 Boot已经为HSQL,Derby和Oracle以及支持“SELECT 1”

的所有数据库做了