如何手动配置elasticsearch healthcheck
How to manually configure elasticsearch healthcheck
目前通过在 application.yml 文件
中提及此 属性 来自动配置 elasticsearch
spring:
elasticsearch:
rest:
uris:
但我的要求是在启用运行状况检查的情况下不要将此 属性 保留在此文件中。如何手动配置?
您可以简单地手动调用 Elasticsearch cluster health API 的 REST 端点,因为您只调用此 REST 端点,您将拥有所有控制权,例如您要调用的持续时间、要解析的内容以及如何notify/Act状态。
我在配置 class 中手动创建 RestHighLevelClient,所以在同一个 class 中,我刚刚添加了以下方法来创建内部用于自动配置运行状况检查的低级别 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
目前通过在 application.yml 文件
中提及此 属性 来自动配置 elasticsearchspring:
elasticsearch:
rest:
uris:
但我的要求是在启用运行状况检查的情况下不要将此 属性 保留在此文件中。如何手动配置?
您可以简单地手动调用 Elasticsearch cluster health API 的 REST 端点,因为您只调用此 REST 端点,您将拥有所有控制权,例如您要调用的持续时间、要解析的内容以及如何notify/Act状态。
我在配置 class 中手动创建 RestHighLevelClient,所以在同一个 class 中,我刚刚添加了以下方法来创建内部用于自动配置运行状况检查的低级别 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