diff --git a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java index 33adf8ddb..d621a8213 100644 --- a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java +++ b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/DiscoveryClientOptionalArgsConfiguration.java @@ -34,7 +34,6 @@ import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.cloud.configuration.SSLContextFactory; import org.springframework.cloud.configuration.TlsProperties; import org.springframework.cloud.netflix.eureka.RestTemplateTimeoutProperties; @@ -70,11 +69,11 @@ public TlsProperties tlsProperties() { @ConditionalOnProperty(prefix = "eureka.client", name = "webclient.enabled", matchIfMissing = true, havingValue = "false") public RestTemplateDiscoveryClientOptionalArgs restTemplateDiscoveryClientOptionalArgs(TlsProperties tlsProperties, - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier, - ObjectProvider restTemplateBuilders) throws GeneralSecurityException, IOException { + EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) + throws GeneralSecurityException, IOException { logger.info("Eureka HTTP Client uses RestTemplate."); RestTemplateDiscoveryClientOptionalArgs result = new RestTemplateDiscoveryClientOptionalArgs( - eurekaClientHttpRequestFactorySupplier, restTemplateBuilders::getIfAvailable); + eurekaClientHttpRequestFactorySupplier); setupTLS(result, tlsProperties); return result; } diff --git a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/EurekaConfigServerBootstrapConfiguration.java b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/EurekaConfigServerBootstrapConfiguration.java index 8f97eeca7..b9f33cf28 100644 --- a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/EurekaConfigServerBootstrapConfiguration.java +++ b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/config/EurekaConfigServerBootstrapConfiguration.java @@ -29,7 +29,6 @@ import org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration; import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.cloud.config.client.ConfigServerInstanceProvider; import org.springframework.cloud.config.client.ConfigServicePropertySourceLocator; import org.springframework.cloud.configuration.TlsProperties; @@ -72,10 +71,9 @@ public EurekaClientConfigBean eurekaClientConfigBean() { havingValue = "false") public RestTemplateEurekaHttpClient configDiscoveryRestTemplateEurekaHttpClient(EurekaClientConfigBean config, Environment env, @Nullable TlsProperties properties, - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier, - ObjectProvider restTemplateBuilders) { + EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) { return (RestTemplateEurekaHttpClient) new RestTemplateTransportClientFactory(properties, - eurekaClientHttpRequestFactorySupplier, restTemplateBuilders::getIfAvailable) + eurekaClientHttpRequestFactorySupplier) .newClient(HostnameBasedUrlRandomizer.randomEndpoint(config, env)); } diff --git a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateDiscoveryClientOptionalArgs.java b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateDiscoveryClientOptionalArgs.java index dbaf2497b..0e74905b4 100644 --- a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateDiscoveryClientOptionalArgs.java +++ b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateDiscoveryClientOptionalArgs.java @@ -16,12 +16,8 @@ package org.springframework.cloud.netflix.eureka.http; -import java.util.function.Supplier; - import com.netflix.discovery.AbstractDiscoveryClientOptionalArgs; -import org.springframework.boot.web.client.RestTemplateBuilder; - /** * @author Daniel Lavoie */ @@ -29,18 +25,9 @@ public class RestTemplateDiscoveryClientOptionalArgs extends AbstractDiscoveryCl protected final EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier; - protected final Supplier restTemplateBuilderSupplier; - public RestTemplateDiscoveryClientOptionalArgs( EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) { - this(eurekaClientHttpRequestFactorySupplier, RestTemplateBuilder::new); - } - - public RestTemplateDiscoveryClientOptionalArgs( - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier, - Supplier restTemplateBuilderSupplier) { this.eurekaClientHttpRequestFactorySupplier = eurekaClientHttpRequestFactorySupplier; - this.restTemplateBuilderSupplier = restTemplateBuilderSupplier; } } diff --git a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactories.java b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactories.java index 5706130fd..d6f8b0cc0 100644 --- a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactories.java +++ b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactories.java @@ -42,7 +42,7 @@ public RestTemplateTransportClientFactories(RestTemplateDiscoveryClientOptionalA public TransportClientFactory newTransportClientFactory(EurekaClientConfig clientConfig, Collection additionalFilters, InstanceInfo myInstanceInfo) { return new RestTemplateTransportClientFactory(this.args.getSSLContext(), this.args.getHostnameVerifier(), - this.args.eurekaClientHttpRequestFactorySupplier, this.args.restTemplateBuilderSupplier); + this.args.eurekaClientHttpRequestFactorySupplier); } @Override @@ -50,7 +50,7 @@ public TransportClientFactory newTransportClientFactory(final EurekaClientConfig final Collection additionalFilters, final InstanceInfo myInstanceInfo, final Optional sslContext, final Optional hostnameVerifier) { return new RestTemplateTransportClientFactory(this.args.getSSLContext(), this.args.getHostnameVerifier(), - this.args.eurekaClientHttpRequestFactorySupplier, this.args.restTemplateBuilderSupplier); + this.args.eurekaClientHttpRequestFactorySupplier); } } diff --git a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactory.java b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactory.java index 55e8a1bcb..1ba3cca84 100644 --- a/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactory.java +++ b/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/http/RestTemplateTransportClientFactory.java @@ -21,7 +21,6 @@ import java.net.URI; import java.net.URISyntaxException; import java.util.Optional; -import java.util.function.Supplier; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLContext; @@ -45,7 +44,6 @@ import com.netflix.discovery.shared.transport.EurekaHttpClient; import com.netflix.discovery.shared.transport.TransportClientFactory; -import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.cloud.configuration.SSLContextFactory; import org.springframework.cloud.configuration.TlsProperties; import org.springframework.http.HttpHeaders; @@ -74,20 +72,11 @@ public class RestTemplateTransportClientFactory implements TransportClientFactor private final EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier; - private final Supplier restTemplateBuilderSupplier; - public RestTemplateTransportClientFactory(TlsProperties tlsProperties, - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier, - Supplier restTemplateBuilderSupplier) { + EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) { this.sslContext = context(tlsProperties); this.hostnameVerifier = Optional.empty(); this.eurekaClientHttpRequestFactorySupplier = eurekaClientHttpRequestFactorySupplier; - this.restTemplateBuilderSupplier = restTemplateBuilderSupplier; - } - - public RestTemplateTransportClientFactory(TlsProperties tlsProperties, - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) { - this(tlsProperties, eurekaClientHttpRequestFactorySupplier, RestTemplateBuilder::new); } private Optional context(TlsProperties properties) { @@ -104,23 +93,16 @@ private Optional context(TlsProperties properties) { public RestTemplateTransportClientFactory(Optional sslContext, Optional hostnameVerifier, - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier, - Supplier restTemplateBuilderSupplier) { + EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) { this.sslContext = sslContext; this.hostnameVerifier = hostnameVerifier; this.eurekaClientHttpRequestFactorySupplier = eurekaClientHttpRequestFactorySupplier; - this.restTemplateBuilderSupplier = restTemplateBuilderSupplier; - } - - public RestTemplateTransportClientFactory(Optional sslContext, - Optional hostnameVerifier, - EurekaClientHttpRequestFactorySupplier eurekaClientHttpRequestFactorySupplier) { - - this(sslContext, hostnameVerifier, eurekaClientHttpRequestFactorySupplier, RestTemplateBuilder::new); } public RestTemplateTransportClientFactory() { - this(Optional.empty(), Optional.empty(), new DefaultEurekaClientHttpRequestFactorySupplier()); + this.sslContext = Optional.empty(); + this.hostnameVerifier = Optional.empty(); + this.eurekaClientHttpRequestFactorySupplier = new DefaultEurekaClientHttpRequestFactorySupplier(); } @Override @@ -138,15 +120,7 @@ private String stripUserInfo(String serviceUrl) { private RestTemplate restTemplate(String serviceUrl) { ClientHttpRequestFactory requestFactory = this.eurekaClientHttpRequestFactorySupplier .get(this.sslContext.orElse(null), this.hostnameVerifier.orElse(null)); - - RestTemplate restTemplate; - - if (restTemplateBuilderSupplier != null && restTemplateBuilderSupplier.get() != null) { - restTemplate = restTemplateBuilderSupplier.get().requestFactory(() -> requestFactory).build(); - } - else { - restTemplate = new RestTemplate(requestFactory); - } + RestTemplate restTemplate = new RestTemplate(requestFactory); try { URI serviceURI = new URI(serviceUrl);