当前,通过在 application.yml 文件中提及此属性来自动配置弹性搜索
spring:
elasticsearch:
rest:
uris:
但我的要求是在启用健康检查的同时不要将此属性保留在此文件中。如何手动配置?
当前,通过在 application.yml 文件中提及此属性来自动配置弹性搜索
spring:
elasticsearch:
rest:
uris:
但我的要求是在启用健康检查的同时不要将此属性保留在此文件中。如何手动配置?
您可以简单地手动调用Elasticsearch 集群健康 API的 REST 端点,因为您只调用此 REST 端点,您将拥有所有控制权,例如您要调用的持续时间、要解析的所有内容以及如何通知/采取行动状态。
我在配置类中手动创建 RestHighLevelClient ,所以在同一个类中,我只是在下面添加了创建低级 Rest Client 的方法,该方法在内部用于自动配置运行状况检查,这解决了我的问题。
// This low level rest client is used for health check
@Bean
public RestClient Healthclient() {
return getClient().getLowLevelClient();
}
public RestHighLevelClient getClient() {
return client;
}
有关更多信息,请查看 - https://github.com/spring-projects/spring-boot/issues/17464