From 4bb7b5ef56304445855bdd5551cf79718bc5a90a Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Sat, 17 Aug 2019 22:49:34 +0200 Subject: [PATCH] DATAES-495 - Deprecate TransportClient support. Original PR: #306 --- README.adoc | 8 +++++++- .../reference/elasticsearch-operations.adoc | 4 +++- .../client/TransportClientFactoryBean.java | 10 +++++----- .../TransportClientBeanDefinitionParser.java | 3 ++- .../elasticsearch/core/ElasticsearchTemplate.java | 5 +++-- .../config/EnableElasticsearchRepositories.java | 14 ++++++++++---- 6 files changed, 30 insertions(+), 14 deletions(-) diff --git a/README.adoc b/README.adoc index 4b6de664f..ad4814fa7 100644 --- a/README.adoc +++ b/README.adoc @@ -11,7 +11,7 @@ This project is lead and maintained by the community. == Features * Spring configuration support using Java based `@Configuration` classes or an XML namespace for a ES clients instances. -* `ElasticsearchTemplate` helper class that increases productivity performing common ES operations. Includes integrated object mapping between documents and POJOs. +* `ElasticsearchRestTemplate` helper class that increases productivity performing common ES operations. Includes integrated object mapping between documents and POJOs. * Feature Rich Object Mapping integrated with Spring’s Conversion Service * Annotation based mapping metadata but extensible to support other metadata formats * Automatic implementation of `Repository` interfaces including support for custom finder methods. @@ -60,6 +60,9 @@ public class MyService { Using Node Client +NOTE: Usage of the Node Client is deprecated as of version 4.0, use RestClient instead. + + [source,xml] ---- @@ -80,6 +83,9 @@ Using Node Client Using Transport Client +NOTE: Usage of the Transport Client is deprecated as of version 4.0, use RestClient instead. + + [source,xml] ---- diff --git a/src/main/asciidoc/reference/elasticsearch-operations.adoc b/src/main/asciidoc/reference/elasticsearch-operations.adoc index 8da4f92c0..ada458e32 100644 --- a/src/main/asciidoc/reference/elasticsearch-operations.adoc +++ b/src/main/asciidoc/reference/elasticsearch-operations.adoc @@ -12,6 +12,8 @@ The default implementations of the interfaces offer: [[elasticsearch.operations.template]] == ElasticsearchTemplate +NOTE: Usage of the ElasticsearchTemplate is deprecated as of version 4.0, use ElasticsearchRestTemplate instead. + The `ElasticsearchTemplate` is an implementation of the `ElasticsearchOperations` interface using the <>. .ElasticsearchTemplate configuration @@ -45,7 +47,7 @@ public class TransportClientConfig extends ElasticsearchConfigurationSupport { } } ---- -<1> Setting up the <>. +<1> Setting up the <>. Deprecatedas of version 4.0. <2> Creating the `ElasticsearchTemplate` bean, offering both names, _elasticsearchOperations_ and _elasticsearchTemplate_. <3> Using the <> ElasticsearchMapper. ==== diff --git a/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java index 3e4b0ecdc..18416506a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java @@ -35,7 +35,10 @@ import org.springframework.beans.factory.InitializingBean; * @author Piotr Betkier * @author Ilkang Na * @author Oliver Gierke + * @author Peter-Josef Meisch + * @deprecated as of 4.0 */ +@Deprecated public class TransportClientFactoryBean implements FactoryBean, InitializingBean, DisposableBean { private static final Logger logger = LoggerFactory.getLogger(TransportClientFactoryBean.class); @@ -101,13 +104,10 @@ public class TransportClientFactoryBean implements FactoryBean, return builder.build(); } - return Settings.builder() - .put("cluster.name", clusterName) - .put("client.transport.sniff", clientTransportSniff) + return Settings.builder().put("cluster.name", clusterName).put("client.transport.sniff", clientTransportSniff) .put("client.transport.ignore_cluster_name", clientIgnoreClusterName) .put("client.transport.ping_timeout", clientPingTimeout) - .put("client.transport.nodes_sampler_interval", clientNodesSamplerInterval) - .build(); + .put("client.transport.nodes_sampler_interval", clientNodesSamplerInterval).build(); } public void setClusterNodes(String clusterNodes) { diff --git a/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java b/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java index 619ab955b..b8fbea302 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java @@ -27,8 +27,9 @@ import org.w3c.dom.Element; * * @author Rizwan Idrees * @author Mohsin Husen + * @deprecated as of 4.0 */ - +@Deprecated public class TransportClientBeanDefinitionParser extends AbstractBeanDefinitionParser { @Override diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java index ddadeb8f9..6cf4d9c6d 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java @@ -124,9 +124,10 @@ import org.springframework.util.StringUtils; * @author Martin Choraine * @author Farid Azaza * @author Gyula Attila Csorogi + * @deprecated as of 4.0 */ -public class ElasticsearchTemplate extends AbstractElasticsearchTemplate - implements ElasticsearchOperations, EsClient, ApplicationContextAware { +@Deprecated +public class ElasticsearchTemplate extends AbstractElasticsearchTemplate implements ElasticsearchOperations, EsClient, ApplicationContextAware { private static final Logger QUERY_LOGGER = LoggerFactory .getLogger("org.springframework.data.elasticsearch.core.QUERY"); diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/config/EnableElasticsearchRepositories.java b/src/main/java/org/springframework/data/elasticsearch/repository/config/EnableElasticsearchRepositories.java index 95147cc0c..8b0d24fef 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/config/EnableElasticsearchRepositories.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/config/EnableElasticsearchRepositories.java @@ -15,11 +15,15 @@ */ package org.springframework.data.elasticsearch.repository.config; -import java.lang.annotation.*; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Import; -import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactoryBean; import org.springframework.data.repository.config.DefaultRepositoryBaseClass; import org.springframework.data.repository.query.QueryLookupStrategy.Key; @@ -31,6 +35,7 @@ import org.springframework.data.repository.query.QueryLookupStrategy.Key; * @author Rizwan Idrees * @author Mohsin Husen * @author Kevin Leturc + * @author Peter-Josef Meisch */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @@ -114,8 +119,9 @@ public @interface EnableElasticsearchRepositories { // Elasticsearch specific configuration /** - * Configures the name of the {@link ElasticsearchTemplate} bean definition to be used to create repositories - * discovered through this annotation. Defaults to {@code elasticsearchTemplate}. + * Configures the name of the {@link org.springframework.data.elasticsearch.core.ElasticsearchOperations} bean + * definition to be used to create repositories discovered through this annotation. Defaults to + * {@code elasticsearchTemplate}. * * @return */