禁用反应式Elasticearch客户端 [英] Disable reactive Elasticsearch client

查看:21
本文介绍了禁用反应式Elasticearch客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Spring-Boot(2.4.1版)应用程序成功地连接到了一个ElasticSearch(v7.9.3)实例,它使用的是自动连接的org.elasticearch.client.RestHighLevelClient(我只需要指定应用程序属性,它就可以工作了)。

在项目的新阶段中,添加了一个对Spring-Boot-starter-WebFlux的依赖,以使用一些反应逻辑来调用外部Web服务。(这与我的ElasticSearch连接无关)

但现在ElasticSearch客户端突然也尝试使用反应器进行连接,我收到了如下错误:

reactor.core.Exceptions$ErrorCallbackNotImplemented: org.springframework.data.elasticsearch.client.NoReachableHostException:
Host 'https://elastic-dev.company.intra:9200:9200' not reachable. Cluster state is offline. 
Caused by: org.springframework.data.elasticsearch.client.NoReachableHostException:
Host 'https://elastic-dev.company.intra:9200:9200' not reachable. Cluster state is offline.
at org.springframework.data.elasticsearch.client.reactive.SingleNodeHostProvider.lambda$lookupActiveHost$4(SingleNodeHostProvider.java:108) ~[spring-data-elasticsearch-4.1.2.jar!/:4.1.2]

我知道:9200:9200存在配置问题,但我只想禁用我的Elasticearch客户端的反应器,这样它就只使用旧的方式(我仍然需要我的Elasticseach客户端)。这可能吗?

谢谢。

推荐答案

进一步搜索后,我找到了P.J.Meish也建议的解决方案:禁用有关反应性弹性搜索的自动配置类:

我更喜欢应用程序中的配置。属性:

spring.autoconfigure.exclude=
  org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticSearchReactiveHealthContributorAutoConfiguration,
  org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration,
  org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration

这篇关于禁用反应式Elasticearch客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆