查看DataSourceHealthIndicator
的源代码,如果它无法找出数据库,它将使用默认查询" SELECT 1;"到数据源的健康状态。
此查询在我的环境中失败。如何配置HealthCheckEndpoint
以使用DatasourceHealthIndicator
自定义查询。
答案 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”
的所有数据库做了