From d96c7c8bfec618ee923686533bcc9bc931ab5a33 Mon Sep 17 00:00:00 2001 From: erabii Date: Mon, 4 Dec 2023 22:04:20 +0200 Subject: [PATCH] Drop overlapping configuration in reactive implementation (#1525) --- .../kubernetes/discovery/KubernetesDiscoveryClient.java | 3 +-- ...bernetesDiscoveryClientReactiveAutoConfiguration.java | 6 +++--- .../discovery/KubernetesReactiveDiscoveryClient.java | 9 +++++++++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClient.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClient.java index 415ecda9..7dceae2c 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClient.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClient.java @@ -80,8 +80,7 @@ public class KubernetesDiscoveryClient implements DiscoveryClient { public List getServices() { Service[] services = rest.getForEntity(discoveryServerUrl + "/apps", Service[].class).getBody(); if (services != null && services.length > 0) { - return Arrays.stream(services).filter(this::matchNamespaces).map(Service::getName) - .collect(Collectors.toList()); + return Arrays.stream(services).filter(this::matchNamespaces).map(Service::getName).toList(); } return List.of(); } diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClientReactiveAutoConfiguration.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClientReactiveAutoConfiguration.java index ec84d487..d6f29721 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClientReactiveAutoConfiguration.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClientReactiveAutoConfiguration.java @@ -24,6 +24,7 @@ import org.springframework.cloud.kubernetes.commons.PodUtils; import org.springframework.cloud.kubernetes.commons.discovery.ConditionalOnSpringCloudKubernetesReactiveDiscovery; import org.springframework.cloud.kubernetes.commons.discovery.ConditionalOnSpringCloudKubernetesReactiveDiscoveryHealthInitializer; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryClientHealthIndicatorInitializer; +import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -34,8 +35,7 @@ import org.springframework.web.reactive.function.client.WebClient; */ @Configuration(proxyBeanMethods = false) @ConditionalOnSpringCloudKubernetesReactiveDiscovery -@EnableConfigurationProperties({ DiscoveryClientHealthIndicatorProperties.class, - KubernetesDiscoveryClientProperties.class }) +@EnableConfigurationProperties({ DiscoveryClientHealthIndicatorProperties.class, KubernetesDiscoveryProperties.class }) class KubernetesDiscoveryClientReactiveAutoConfiguration { @Bean @@ -47,7 +47,7 @@ class KubernetesDiscoveryClientReactiveAutoConfiguration { @Bean @ConditionalOnMissingBean KubernetesReactiveDiscoveryClient kubernetesReactiveDiscoveryClient(WebClient.Builder webClientBuilder, - KubernetesDiscoveryClientProperties properties) { + KubernetesDiscoveryProperties properties) { return new KubernetesReactiveDiscoveryClient(webClientBuilder, properties); } diff --git a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesReactiveDiscoveryClient.java b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesReactiveDiscoveryClient.java index 2e5d8b8c..f61db974 100644 --- a/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesReactiveDiscoveryClient.java +++ b/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesReactiveDiscoveryClient.java @@ -21,6 +21,7 @@ import reactor.core.publisher.Flux; import org.springframework.cache.annotation.Cacheable; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.ReactiveDiscoveryClient; +import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.util.StringUtils; import org.springframework.web.reactive.function.client.WebClient; @@ -31,6 +32,7 @@ public class KubernetesReactiveDiscoveryClient implements ReactiveDiscoveryClien private final WebClient webClient; + @Deprecated(forRemoval = true) public KubernetesReactiveDiscoveryClient(WebClient.Builder webClientBuilder, KubernetesDiscoveryClientProperties properties) { if (!StringUtils.hasText(properties.getDiscoveryServerUrl())) { @@ -39,6 +41,13 @@ public class KubernetesReactiveDiscoveryClient implements ReactiveDiscoveryClien this.webClient = webClientBuilder.baseUrl(properties.getDiscoveryServerUrl()).build(); } + KubernetesReactiveDiscoveryClient(WebClient.Builder webClientBuilder, KubernetesDiscoveryProperties properties) { + if (!StringUtils.hasText(properties.discoveryServerUrl())) { + throw new DiscoveryServerUrlInvalidException(); + } + this.webClient = webClientBuilder.baseUrl(properties.discoveryServerUrl()).build(); + } + @Override public String description() { return "Reactive Kubernetes Discovery Client";