Auto-configure the new Elasticsearch clients

This commit introduces auto-configuration for the new Elasticsearch
clients that are based upon their new Java client. The new Java
client builds on top of their existing low-level REST client,
replacing the high-level REST client which has been deprecated.
As part of introducing support for the new Elasticsearch client,
the auto-configuration for the templates (both imperative and
reactive) provided by Spring Data has also been updated to use the
new templates that build upon the new Java client.

As part of these changes, support for the high-level REST client and
the old Spring Data Elasticsearch templates has been removed. One
significant change is that the new reactive template is no longer
based on WebClient. As a result, the WebClient-specific configuration
property has been removed.

Closes gh-30647
Closes gh-28597
Closes gh-31755
This commit is contained in:
Andy Wilkinson
2022-07-12 14:30:49 +01:00
parent f9ccfc1e12
commit 5c057a2730
44 changed files with 604 additions and 852 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2021 the original author or authors.
* Copyright 2012-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,6 +30,8 @@ public final class DockerImageNames {
private static final String COUCHBASE_VERSION = "6.5.1";
private static final String ELASTICSEARCH_VERSION = "7.17.5";
private static final String MONGO_VERSION = "4.0.23";
private static final String NEO4J_VERSION = "4.0";
@@ -60,13 +62,11 @@ public final class DockerImageNames {
}
/**
* Return a {@link DockerImageName} suitable for running Elasticsearch according to
* the version available on the classpath.
* Return a {@link DockerImageName} suitable for running Elasticsearch.
* @return a docker image name for running elasticsearch
*/
public static DockerImageName elasticsearch() {
String version = org.elasticsearch.Version.CURRENT.toString();
return DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch").withTag(version);
return DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch").withTag(ELASTICSEARCH_VERSION);
}
/**