DataSourceHealthIndicator

DataSourceHealthIndicator

现在我们已经将Spring Boot用于多个项目,我们正在使用最新的版本1.2.3。我们正在合并执行器。到目前为止,一切工作正常,只不过我们发现/ health指示器[默认]显示服务已关闭。这不是真的。这些服务是使用数据源实现的。它可以调用其他SOAP或Rest服务。卫生服务在寻找什么来衡量服务是否中断?

最佳答案

正如#derFuerst所说,DataSourceHealthIndicator具有默认查询以检查数据库是否已启动。

如果要使用此正确的特定于供应商的查询,则应在配置类中编写自己的运行状况指示器,例如在Oracle数据源的情况下:

@Autowired(required = false)
private DataSource dataSource;

@Bean
@Primary
public DataSourceHealthIndicator dataSourceHealthIndicator() {
    return new DataSourceHealthIndicator(dataSource, "SELECT 1 FROM DUAL");
}

09-05 21:42