diff --git a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java index a210cd851..be9a99f8b 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java @@ -37,6 +37,7 @@ * @author Peter-Josef Meisch * @author Huw Ayling-Miller * @author Henrique Amaral + * @author Taranjot Singh * @since 3.2 */ public interface ClientConfiguration { @@ -163,6 +164,11 @@ static ClientConfiguration create(InetSocketAddress socketAddress) { */ Optional getProxy(); + /** + * @return the function for configuring a WebClient. + */ + Function getWebClientConfigurer(); + /** * @return the client configuration callbacks * @since 4.3 @@ -329,7 +335,7 @@ default TerminalClientConfigurationBuilder withSocketTimeout(long millis) { * @param proxy a proxy formatted as String {@literal host:port}. * @return the {@link TerminalClientConfigurationBuilder}. */ - TerminalClientConfigurationBuilder withProxy(String proxy); + TerminalClientConfigurationBuilder setProxy(String proxy); /** * Register a {@link ClientConfigurationCallback} to configure the client. diff --git a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java index 886491bbd..0ec202546 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java @@ -43,6 +43,7 @@ * @author Peter-Josef Meisch * @author Huw Ayling-Miller * @author Henrique Amaral + * @author Taranjot Singh * @since 3.2 */ class ClientConfigurationBuilder @@ -59,6 +60,7 @@ class ClientConfigurationBuilder private @Nullable String password; private @Nullable String pathPrefix; private @Nullable String proxy; + private final Function webClientConfigurer = Function.identity(); private Supplier headersSupplier = HttpHeaders::new; @Deprecated private final HttpClientConfigCallback httpClientConfigurer = httpClientBuilder -> httpClientBuilder; private final List> clientConfigurers = new ArrayList<>(); @@ -71,7 +73,6 @@ class ClientConfigurationBuilder public MaybeSecureClientConfigurationBuilder connectedTo(String... hostAndPorts) { Assert.notEmpty(hostAndPorts, "At least one host is required"); - this.hosts.addAll(Arrays.stream(hostAndPorts).map(ClientConfigurationBuilder::parse).toList()); return this; } @@ -91,7 +92,7 @@ public MaybeSecureClientConfigurationBuilder connectedTo(InetSocketAddress... en } @Override - public MaybeSecureClientConfigurationBuilder withProxy(String proxy) { + public MaybeSecureClientConfigurationBuilder setProxy(String proxy) { Assert.hasLength(proxy, "proxy must not be null or empty"); this.proxy = proxy; return this; @@ -229,11 +230,10 @@ public ClientConfiguration build() { } return new DefaultClientConfiguration(hosts, headers, useSsl, sslContext, soTimeout, connectTimeout, pathPrefix, - hostnameVerifier, proxy, httpClientConfigurer, clientConfigurers, headersSupplier); + hostnameVerifier, proxy, webClientConfigurer, httpClientConfigurer, clientConfigurers, headersSupplier); } private static InetSocketAddress parse(String hostAndPort) { return InetSocketAddressParser.parse(hostAndPort, ElasticsearchHost.DEFAULT_PORT); } - } diff --git a/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java index ad768187a..4a6d3d85f 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java @@ -19,6 +19,7 @@ import java.time.Duration; import java.util.List; import java.util.Optional; +import java.util.function.Function; import java.util.function.Supplier; import javax.net.ssl.HostnameVerifier; @@ -27,6 +28,7 @@ import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback; import org.springframework.data.elasticsearch.support.HttpHeaders; import org.springframework.lang.Nullable; +import org.springframework.web.reactive.function.client.WebClient; /** * Default {@link ClientConfiguration} implementation. @@ -35,6 +37,7 @@ * @author Christoph Strobl * @author Huw Ayling-Miller * @author Peter-Josef Meisch + * @author Taranjot Singh * @since 3.2 */ class DefaultClientConfiguration implements ClientConfiguration { @@ -48,15 +51,16 @@ class DefaultClientConfiguration implements ClientConfiguration { private final @Nullable String pathPrefix; private final @Nullable HostnameVerifier hostnameVerifier; private final @Nullable String proxy; + private final Function webClientConfigurer; private final HttpClientConfigCallback httpClientConfigurer; private final Supplier headersSupplier; private final List> clientConfigurers; DefaultClientConfiguration(List hosts, HttpHeaders headers, boolean useSsl, - @Nullable SSLContext sslContext, Duration soTimeout, Duration connectTimeout, @Nullable String pathPrefix, - @Nullable HostnameVerifier hostnameVerifier, @Nullable String proxy, - HttpClientConfigCallback httpClientConfigurer, List> clientConfigurers, - Supplier headersSupplier) { + @Nullable SSLContext sslContext, Duration soTimeout, Duration connectTimeout, @Nullable String pathPrefix, + @Nullable HostnameVerifier hostnameVerifier, @Nullable String proxy, + Function webClientConfigurer, HttpClientConfigCallback httpClientConfigurer, + List> clientConfigurers, Supplier headersSupplier) { this.hosts = List.copyOf(hosts); this.headers = headers; @@ -67,6 +71,7 @@ class DefaultClientConfiguration implements ClientConfiguration { this.pathPrefix = pathPrefix; this.hostnameVerifier = hostnameVerifier; this.proxy = proxy; + this.webClientConfigurer = webClientConfigurer; this.httpClientConfigurer = httpClientConfigurer; this.clientConfigurers = clientConfigurers; this.headersSupplier = headersSupplier; @@ -118,6 +123,11 @@ public Optional getProxy() { return Optional.ofNullable(proxy); } + @Override + public Function getWebClientConfigurer() { + return webClientConfigurer; + } + @Override public List> getClientConfigurers() { return clientConfigurers; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/InetSocketAddressParser.java b/src/main/java/org/springframework/data/elasticsearch/client/InetSocketAddressParser.java index a8dc5e13f..73ff9aaac 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/InetSocketAddressParser.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/InetSocketAddressParser.java @@ -24,6 +24,7 @@ * Utility to parse endpoints in {@code host:port} format into {@link java.net.InetSocketAddress}. * * @author Mark Paluch + * @author Taranjot Singh * @since 3.2 */ public class InetSocketAddressParser { @@ -42,7 +43,10 @@ public static InetSocketAddress parse(String hostPortString, int defaultPort) { String host; String portString = null; - if (hostPortString.startsWith("[")) { + // Check if the host is surrounded by square brackets + boolean isBracketedHost = hostPortString.startsWith("["); + + if (isBracketedHost) { String[] hostAndPort = getHostAndPortFromBracketedHost(hostPortString); host = hostAndPort[0]; portString = hostAndPort[1]; @@ -58,19 +62,8 @@ public static InetSocketAddress parse(String hostPortString, int defaultPort) { } } - int port = defaultPort; - if (StringUtils.hasText(portString)) { - // Try to parse the whole port string as a number. - Assert.isTrue(!portString.startsWith("+"), String.format("Cannot parse port number: %s", hostPortString)); - try { - port = Integer.parseInt(portString); - } catch (NumberFormatException e) { - throw new IllegalArgumentException(String.format("Cannot parse port number: %s", hostPortString)); - } - - Assert.isTrue(isValidPort(port), String.format("Port number out of range: %s", hostPortString)); - } - + int port = parsePort(portString, defaultPort); + Assert.isTrue(isValidPort(port), String.format("Port number out of range: %s", hostPortString)); return InetSocketAddress.createUnresolved(host, port); } @@ -114,4 +107,24 @@ private static String[] getHostAndPortFromBracketedHost(String hostPortString) { private static boolean isValidPort(int port) { return port >= 0 && port <= 65535; } + + /** + * @param portString A string representing a port number. + * @param defaultPort default port to apply if {@code hostPostString} does not contain a port. + * @return {@literal true} for valid port numbers. + */ + private static int parsePort(String portString, int defaultPort) { + if (StringUtils.hasText(portString)) { + try { + return Integer.parseInt(portString); + } catch (NumberFormatException e) { + throw new IllegalArgumentException(String.format("Cannot parse port number: %s", portString)); + } + } else { + return defaultPort; + } + } + } + + diff --git a/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchClients.java b/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchClients.java index 58a2c4273..f20e6c7d3 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchClients.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchClients.java @@ -51,6 +51,7 @@ import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; +import org.springframework.context.annotation.Bean; import org.springframework.data.elasticsearch.client.ClientConfiguration; import org.springframework.data.elasticsearch.client.ClientLogger; import org.springframework.data.elasticsearch.support.HttpHeaders; @@ -61,6 +62,7 @@ * Utility class to create the different Elasticsearch clients * * @author Peter-Josef Meisch + * @author Taranjot Singh * @since 4.4 */ public final class ElasticsearchClients { @@ -93,7 +95,7 @@ public static ReactiveElasticsearchClient createReactive(ClientConfiguration cli * @return the {@link ReactiveElasticsearchClient} */ public static ReactiveElasticsearchClient createReactive(ClientConfiguration clientConfiguration, - @Nullable TransportOptions transportOptions) { + @Nullable TransportOptions transportOptions) { Assert.notNull(clientConfiguration, "ClientConfiguration must not be null!"); @@ -118,7 +120,7 @@ public static ReactiveElasticsearchClient createReactive(RestClient restClient) * @return the {@link ReactiveElasticsearchClient} */ public static ReactiveElasticsearchClient createReactive(RestClient restClient, - @Nullable TransportOptions transportOptions) { + @Nullable TransportOptions transportOptions) { return new ReactiveElasticsearchClient(getElasticsearchTransport(restClient, REACTIVE_CLIENT, transportOptions)); } @@ -140,7 +142,7 @@ public static ElasticsearchClient createImperative(ClientConfiguration clientCon * @return the {@link ElasticsearchClient} */ public static ElasticsearchClient createImperative(ClientConfiguration clientConfiguration, - TransportOptions transportOptions) { + TransportOptions transportOptions) { return createImperative(getRestClient(clientConfiguration), transportOptions); } @@ -162,7 +164,7 @@ public static ElasticsearchClient createImperative(RestClient restClient) { * @return the {@link ElasticsearchClient} */ public static ElasticsearchClient createImperative(RestClient restClient, - @Nullable TransportOptions transportOptions) { + @Nullable TransportOptions transportOptions) { Assert.notNull(restClient, "restClient must not be null"); @@ -246,14 +248,14 @@ private static RestClientBuilder getRestClientBuilder(ClientConfiguration client } private static ElasticsearchTransport getElasticsearchTransport(RestClient restClient, String clientType, - @Nullable TransportOptions transportOptions) { + @Nullable TransportOptions transportOptions) { TransportOptions.Builder transportOptionsBuilder = transportOptions != null ? transportOptions.toBuilder() : new RestClientOptions(RequestOptions.DEFAULT).toBuilder(); ContentType jsonContentType = Version.VERSION == null ? ContentType.APPLICATION_JSON : ContentType.create("application/vnd.elasticsearch+json", - new BasicNameValuePair("compatible-with", String.valueOf(Version.VERSION.major()))); + new BasicNameValuePair("compatible-with", String.valueOf(Version.VERSION.major()))); Consumer setHeaderIfNotPresent = header -> { if (transportOptionsBuilder.build().headers().stream() // @@ -403,4 +405,23 @@ static ElasticsearchRestClientConfigurationCallback from( return restClientBuilderCallback::apply; } } + + /** + * Provides the {@link ElasticsearchClient} to be used. + * + * @param restClient the low level RestClient to use + * @return ElasticsearchClient instance + */ + @Bean + public static ElasticsearchClient elasticsearchClient(RestClient restClient) { + + Assert.notNull(restClient, "restClient must not be null"); + + return ElasticsearchClients.createImperative(restClient, transportOptions()); + } + + public static TransportOptions transportOptions() { + return new RestClientOptions(RequestOptions.DEFAULT); + } + } diff --git a/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchConfiguration.java index 2f06eb2a6..703fe8c65 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchConfiguration.java @@ -33,6 +33,7 @@ * connection using the Elasticsearch Client. * * @author Peter-Josef Meisch + * @author Taranjot Singh * @since 4.4 */ public abstract class ElasticsearchConfiguration extends ElasticsearchConfigurationSupport { @@ -67,10 +68,7 @@ public RestClient elasticsearchRestClient(ClientConfiguration clientConfiguratio */ @Bean public ElasticsearchClient elasticsearchClient(RestClient restClient) { - - Assert.notNull(restClient, "restClient must not be null"); - - return ElasticsearchClients.createImperative(restClient, transportOptions()); + return ElasticsearchClients.elasticsearchClient(restClient); } /** @@ -81,7 +79,7 @@ public ElasticsearchClient elasticsearchClient(RestClient restClient) { */ @Bean(name = { "elasticsearchOperations", "elasticsearchTemplate" }) public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter, - ElasticsearchClient elasticsearchClient) { + ElasticsearchClient elasticsearchClient) { ElasticsearchTemplate template = new ElasticsearchTemplate(elasticsearchClient, elasticsearchConverter); template.setRefreshPolicy(refreshPolicy()); diff --git a/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchTemplate.java index f00641347..f9ab7a803 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchTemplate.java @@ -70,6 +70,7 @@ * * @author Peter-Josef Meisch * @author Hamid Rahimi + * @author Taranjot Singh * @since 4.4 */ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate { @@ -159,7 +160,6 @@ public List> multiGet(Query query, Class clazz, IndexCoor .collect(Collectors.toList()); } - @Override public void bulkUpdate(List queries, BulkOptions bulkOptions, IndexCoordinates index) { Assert.notNull(queries, "queries must not be null"); @@ -182,7 +182,6 @@ public ByQueryResponse delete(Query query, Class clazz, IndexCoordinates inde return responseConverter.byQueryResponse(response); } - @Override public UpdateResponse update(UpdateQuery updateQuery, IndexCoordinates index) { UpdateRequest request = requestConverter.documentUpdateRequest(updateQuery, index, getRefreshPolicy(), @@ -192,7 +191,6 @@ public UpdateResponse update(UpdateQuery updateQuery, IndexCoordinates index) { return UpdateResponse.of(result(response.result())); } - @Override public ByQueryResponse updateByQuery(UpdateQuery updateQuery, IndexCoordinates index) { Assert.notNull(updateQuery, "updateQuery must not be null"); @@ -247,7 +245,6 @@ protected String doDelete(String id, @Nullable String routing, IndexCoordinates return execute(client -> client.delete(request)).id(); } - @Override public ReindexResponse reindex(ReindexRequest reindexRequest) { Assert.notNull(reindexRequest, "reindexRequest must not be null"); @@ -259,7 +256,6 @@ public ReindexResponse reindex(ReindexRequest reindexRequest) { return responseConverter.reindexResponse(reindexResponse); } - @Override public String submitReindex(ReindexRequest reindexRequest) { co.elastic.clients.elasticsearch.core.ReindexRequest reindexRequestES = requestConverter.reindex(reindexRequest, @@ -276,7 +272,7 @@ public String submitReindex(ReindexRequest reindexRequest) { @Override public List doBulkOperation(List queries, BulkOptions bulkOptions, - IndexCoordinates index) { + IndexCoordinates index) { BulkRequest bulkRequest = requestConverter.documentBulkRequest(queries, bulkOptions, index, refreshPolicy); BulkResponse bulkResponse = execute(client -> client.bulk(bulkRequest)); @@ -371,7 +367,7 @@ protected SearchHits doSearch(MoreLikeThisQuery query, Class clazz, In @Override public SearchScrollHits searchScrollStart(long scrollTimeInMillis, Query query, Class clazz, - IndexCoordinates index) { + IndexCoordinates index) { Assert.notNull(query, "query must not be null"); Assert.notNull(query.getPageable(), "pageable of query must not be null."); @@ -385,7 +381,7 @@ public SearchScrollHits searchScrollStart(long scrollTimeInMillis, Query @Override public SearchScrollHits searchScrollContinue(String scrollId, long scrollTimeInMillis, Class clazz, - IndexCoordinates index) { + IndexCoordinates index) { Assert.notNull(scrollId, "scrollId must not be null"); @@ -397,7 +393,7 @@ public SearchScrollHits searchScrollContinue(String scrollId, long scroll } private SearchScrollHits getSearchScrollHits(Class clazz, IndexCoordinates index, - ResponseBody response) { + ResponseBody response) { ReadDocumentCallback documentCallback = new ReadDocumentCallback<>(elasticsearchConverter, clazz, index); SearchDocumentResponseCallback> callback = new ReadSearchScrollDocumentResponseCallback<>(clazz, index); @@ -452,7 +448,7 @@ public List> multiSearch(List queries, List> multiSearch(List queries, List> classes, - IndexCoordinates index) { + IndexCoordinates index) { Assert.notNull(queries, "queries must not be null"); Assert.notNull(classes, "classes must not be null"); @@ -471,7 +467,7 @@ public List> multiSearch(List queries, List> multiSearch(List queries, List> classes, - List indexes) { + List indexes) { Assert.notNull(queries, "queries must not be null"); Assert.notNull(classes, "classes must not be null"); @@ -657,7 +653,7 @@ protected List checkForBulkOperationFailure(BulkRespon } return bulkResponse.items().stream().map( - item -> new IndexedObjectInformation(item.id(), item.index(), item.seqNo(), item.primaryTerm(), item.version())) + item -> new IndexedObjectInformation(item.id(), item.index(), item.seqNo(), item.primaryTerm(), item.version())) .collect(Collectors.toList()); } diff --git a/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java index 0a35453e6..b1b7c7b69 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java @@ -42,6 +42,7 @@ * @author Peter-Josef Meisch * @author Huw Ayling-Miller * @author Henrique Amaral + * @author Taranjot Singh */ public class ClientConfigurationUnitTests { @@ -67,7 +68,7 @@ public void shouldCreateCustomizedConfiguration() { .withDefaultHeaders(headers) // .withConnectTimeout(Duration.ofDays(1)).withSocketTimeout(Duration.ofDays(2)) // .withPathPrefix("myPathPrefix") // - .withProxy("localhost:8080").build(); + .setProxy("localhost:8080").build(); assertThat(clientConfiguration.getEndpoints()).containsOnly(InetSocketAddress.createUnresolved("foo", 9200), InetSocketAddress.createUnresolved("bar", 9200)); diff --git a/src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java b/src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java index 51ddd0053..fb97be614 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java @@ -59,6 +59,7 @@ * uses HTTP CONNECT on proxy requests which wiremock does not support. * * @author Peter-Josef Meisch + * @author Taranjot Singh */ @HoverflyCapture(path = "target/hoverfly", config = @HoverflyConfig(proxyLocalHost = true, plainHttpTunneling = true)) @ExtendWith(HoverflyExtension.class) @@ -79,7 +80,7 @@ void shouldUseConfiguredProxy(ClientUnderTestFactory clientUnderTestFactory, Hov ClientConfigurationBuilder configurationBuilder = new ClientConfigurationBuilder(); ClientConfiguration clientConfiguration = configurationBuilder // .connectedTo(serviceHost)// - .withProxy(proxyHost) // + .setProxy(proxyHost) // .build(); ClientUnderTest clientUnderTest = clientUnderTestFactory.create(clientConfiguration); diff --git a/src/test/java/org/springframework/data/elasticsearch/client/elc/DevTests.java b/src/test/java/org/springframework/data/elasticsearch/client/elc/DevTests.java index 49a7d8c04..216e1af6d 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/elc/DevTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/client/elc/DevTests.java @@ -60,6 +60,7 @@ * on port 9200 and an intercepting proxy on port 8080. * * @author Peter-Josef Meisch + * @author Taranjot Singh */ @Disabled @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @@ -353,7 +354,7 @@ private ResponseBody searchReactive(SearchRequest searchRequest) { private ClientConfiguration clientConfiguration() { return ClientConfiguration.builder() // .connectedTo("localhost:9200")// - .withBasicAuth("elastic", "hcraescitsale").withProxy("localhost:8080") // + .withBasicAuth("elastic", "hcraescitsale").setProxy("localhost:8080") // .withHeaders(() -> { HttpHeaders headers = new HttpHeaders(); headers.add("X-SpringDataElasticsearch-timestamp", diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java index c7dbf2bed..32df34b7b 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java @@ -37,6 +37,7 @@ * Configuration for Spring Data Elasticsearch using {@link ElasticsearchRestTemplate}. * * @author Peter-Josef Meisch + * @author Taranjot Singh * @deprecated since 5.0 */ @Deprecated @@ -58,7 +59,7 @@ public RestHighLevelClient elasticsearchClient() { String proxy = System.getenv("DATAES_ELASTICSEARCH_PROXY"); if (proxy != null) { - configurationBuilder = configurationBuilder.withProxy(proxy); + configurationBuilder = configurationBuilder.setProxy(proxy); } if (clusterConnectionInfo.isUseSsl()) { diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java index b86561eb3..afacdb71d 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java @@ -30,6 +30,7 @@ * Configuration for Spring Data Elasticsearch tests using an {@link ElasticsearchTemplate}. * * @author Peter-Josef Meisch + * @author Taranjot Singh * @since 4.4 */ @Configuration @@ -48,7 +49,7 @@ public ClientConfiguration clientConfiguration() { String proxy = System.getenv("DATAES_ELASTICSEARCH_PROXY"); if (proxy != null) { - configurationBuilder = configurationBuilder.withProxy(proxy); + configurationBuilder = configurationBuilder.setProxy(proxy); } if (clusterConnectionInfo.isUseSsl()) { diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java index 2d0b0d8ee..bbc2495a8 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java @@ -31,6 +31,7 @@ * Configuration for Spring Data Elasticsearch Integration Tests using {@link ReactiveElasticsearchClient} * * @author Peter-Josef Meisch + * @author Taranjot Singh */ @Configuration public class ReactiveElasticsearchRestTemplateConfiguration extends AbstractReactiveElasticsearchConfiguration { @@ -48,7 +49,7 @@ public ReactiveElasticsearchClient reactiveElasticsearchClient() { String proxy = System.getenv("DATAES_ELASTICSEARCH_PROXY"); if (proxy != null) { - configurationBuilder = configurationBuilder.withProxy(proxy); + configurationBuilder = configurationBuilder.setProxy(proxy); } if (clusterConnectionInfo.isUseSsl()) { configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder) diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchTemplateConfiguration.java index 45b10a553..01c1fe6c5 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchTemplateConfiguration.java @@ -30,6 +30,7 @@ * Configuration for Spring Data Elasticsearch tests using an {@link ReactiveElasticsearchTemplate}. * * @author Peter-Josef Meisch + * @author Taranjot Singh * @since 4.4 */ @Configuration @@ -48,7 +49,7 @@ public ClientConfiguration clientConfiguration() { String proxy = System.getenv("DATAES_ELASTICSEARCH_PROXY"); if (proxy != null) { - configurationBuilder = configurationBuilder.withProxy(proxy); + configurationBuilder = configurationBuilder.setProxy(proxy); } if (clusterConnectionInfo.isUseSsl()) { configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder) diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java b/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java index d15e7547e..1c5779cb2 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java @@ -32,6 +32,7 @@ /** * @author Mohsin Husen * @author Peter-Josef Meisch + * @author Taranjot Singh */ @ApplicationScoped class ElasticsearchOperationsProducer { @@ -71,7 +72,7 @@ public ElasticsearchClient elasticsearchClient() { String proxy = System.getenv("DATAES_ELASTICSEARCH_PROXY"); if (hasText(proxy)) { - configurationBuilder.withProxy(proxy); + configurationBuilder.setProxy(proxy); } ClientConfiguration clientConfiguration = configurationBuilder //