禁用反应式Elasticearch客户端 [英] Disable reactive Elasticsearch client
本文介绍了禁用反应式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屋!
查看全文