Spring boot 选择spring data elasticsearch 3.2,同时使用spring boot 2.3
我们有一个web服务在SpringBoot2.3上运行,带有spring-data-r2dbc,它只在SpringBoot2.3之后才可用 最近,我们需要与现有的elasticsearch 6.x集群集成,SpringBoot2.3附带的SpringDataElasticSearch4.0不支持该集群 我试图明确声明依赖关系spring data elasticsearch 3.2.10(支持6.x es群集),但是我可以看到elasticsearch rest高级客户端7.6.2(这种依赖关系是spring data elasticsearch 4.0不再支持6.x es群集的根本原因)无论spring data elasticsearch 3.2.10的pom.xml中声明了版本6.8.12,仍然加载 我将gradle与Spring boot 选择spring data elasticsearch 3.2,同时使用spring boot 2.3,spring-boot,gradle,
spring-data-elasticsearch,spring-data-r2dbc,Spring Boot,Gradle,
spring Data Elasticsearch,Spring Data R2dbc,我们有一个web服务在SpringBoot2.3上运行,带有spring-data-r2dbc,它只在SpringBoot2.3之后才可用 最近,我们需要与现有的elasticsearch 6.x集群集成,SpringBoot2.3附带的SpringDataElasticSearch4.0不支持该集群 我试图明确声明依赖关系spring data elasticsearch 3.2.10(支持6.x es群集),但是我可以看到elasticsearch rest高级客户端7.6.2(这种依赖关系
io.spring.dependency management
和org.springframework.boot
插件一起使用。我想知道如何在选择spring data elasticsearch 3.2.10的同时继续使用spring boot 2.3
=============编辑==========
我看到这篇文章,认为这是因为io.spring.dependency management
gradle插件将elasticsearch版本强制执行到了7.6.2
我通过ext[“elasticsearch.version”]=6.8.12对其进行了更改,现在需要elasticsearch版本
但是,我仍然不确定以这种方式覆盖版本是否会导致任何不可预见的问题。我没有gradle设置来测试这一点,但对于maven,您需要两件事:
设置Elasticsearch版本的属性和Spring数据Elasticsearch的依赖项:
<properties>
<elasticsearch.version>6.8.4</elasticsearch.version>
</properties>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.2.10.RELEASE</version>
</dependency>
6.8.4
org.springframework.data
弹簧数据弹性搜索
3.2.10.发布
使用示例程序进行的第一次测试似乎运行正常,但可能存在问题,因为spring data elasticsearch和spring-data-r2dbc都依赖于不同版本的spring data commons;你得试试。谢谢!我想r2dbc是安全的,因为加载的commons应该是spring boot dependencies 2.3强制执行的commons。如果elastic search出现问题,我想我们将不得不不使用spring data elasticsearch的反应式客户端,而是使用自定义webclient rest API交互。。。