From 5aff4d3f8d5eee9a0a9f20267580c40fb24af960 Mon Sep 17 00:00:00 2001 From: erabii Date: Thu, 18 Aug 2022 00:01:46 +0300 Subject: [PATCH] discovery service cleanup part 1 (#1041) * minor clean-up * retrigger build * retrigger build * more clean-up * trigger --- ...nditionalOnKubernetesDiscoveryEnabled.java | 35 ------------------- ...netesDiscoveryClientAutoConfiguration.java | 1 + ...ctiveDiscoveryClientAutoConfiguration.java | 2 +- ...nditionalOnKubernetesDiscoveryEnabled.java | 7 ++-- ...overyClientHealthIndicatorInitializer.java | 13 +++---- .../discovery/KubernetesServiceInstance.java | 30 +++++++++------- ...netesDiscoveryClientAutoConfiguration.java | 1 + ...ctiveDiscoveryClientAutoConfiguration.java | 2 +- 8 files changed, 30 insertions(+), 61 deletions(-) delete mode 100644 spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/ConditionalOnKubernetesDiscoveryEnabled.java rename {spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8 => spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons}/discovery/ConditionalOnKubernetesDiscoveryEnabled.java (88%) diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/ConditionalOnKubernetesDiscoveryEnabled.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/ConditionalOnKubernetesDiscoveryEnabled.java deleted file mode 100644 index bb0f9a07..00000000 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/ConditionalOnKubernetesDiscoveryEnabled.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2019-2019 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. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.cloud.kubernetes.client.discovery; - -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.boot.autoconfigure.condition.ConditionalOnProperty; - -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@Inherited -@ConditionalOnProperty(value = "spring.cloud.kubernetes.discovery.enabled", matchIfMissing = true) -public @interface ConditionalOnKubernetesDiscoveryEnabled { - -} diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java index 550a7b36..cf277934 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesDiscoveryClientAutoConfiguration.java @@ -45,6 +45,7 @@ import org.springframework.cloud.client.discovery.simple.SimpleDiscoveryClientAu import org.springframework.cloud.kubernetes.client.KubernetesClientAutoConfiguration; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.PodUtils; +import org.springframework.cloud.kubernetes.commons.discovery.ConditionalOnKubernetesDiscoveryEnabled; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryClientHealthIndicatorInitializer; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.context.ApplicationEventPublisher; diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfiguration.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfiguration.java index 0253a4a1..08538f41 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/reactive/KubernetesInformerReactiveDiscoveryClientAutoConfiguration.java @@ -43,9 +43,9 @@ import org.springframework.cloud.client.discovery.health.DiscoveryClientHealthIn import org.springframework.cloud.client.discovery.health.reactive.ReactiveDiscoveryClientHealthIndicator; import org.springframework.cloud.client.discovery.simple.reactive.SimpleReactiveDiscoveryClientAutoConfiguration; import org.springframework.cloud.kubernetes.client.KubernetesClientPodUtils; -import org.springframework.cloud.kubernetes.client.discovery.ConditionalOnKubernetesDiscoveryEnabled; import org.springframework.cloud.kubernetes.client.discovery.KubernetesDiscoveryClientAutoConfiguration; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; +import org.springframework.cloud.kubernetes.commons.discovery.ConditionalOnKubernetesDiscoveryEnabled; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/ConditionalOnKubernetesDiscoveryEnabled.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/ConditionalOnKubernetesDiscoveryEnabled.java similarity index 88% rename from spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/ConditionalOnKubernetesDiscoveryEnabled.java rename to spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/ConditionalOnKubernetesDiscoveryEnabled.java index 26de9d82..5b1ee771 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/ConditionalOnKubernetesDiscoveryEnabled.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/ConditionalOnKubernetesDiscoveryEnabled.java @@ -1,5 +1,5 @@ /* - * Copyright 2019-2019 the original author or authors. + * Copyright 2019-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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.kubernetes.fabric8.discovery; +package org.springframework.cloud.kubernetes.commons.discovery; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; @@ -29,8 +29,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; * Provides a more succinct conditional * spring.cloud.kubernetes.discovery.enabled. * - * @author Tim Ysewyn - * @since 2.2.0 + * @author wind57 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java index c9ff0e44..968b814d 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesDiscoveryClientHealthIndicatorInitializer.java @@ -24,25 +24,22 @@ import org.springframework.context.ApplicationEventPublisher; /** * @author Ryan Baxter */ -public class KubernetesDiscoveryClientHealthIndicatorInitializer implements InitializingBean { +public final class KubernetesDiscoveryClientHealthIndicatorInitializer implements InitializingBean { - private PodUtils podUtils; + private final PodUtils podUtils; - private ApplicationEventPublisher applicationEventPublisher; + private final ApplicationEventPublisher applicationEventPublisher; - public KubernetesDiscoveryClientHealthIndicatorInitializer(PodUtils podUtils, + public KubernetesDiscoveryClientHealthIndicatorInitializer(PodUtils podUtils, ApplicationEventPublisher applicationEventPublisher) { this.podUtils = podUtils; this.applicationEventPublisher = applicationEventPublisher; } - public void initialize() { - this.applicationEventPublisher.publishEvent(new InstanceRegisteredEvent<>(podUtils.currentPod(), null)); - } @Override public void afterPropertiesSet() { - this.initialize(); + this.applicationEventPublisher.publishEvent(new InstanceRegisteredEvent<>(podUtils.currentPod(), null)); } } diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java index afa78de6..2dc40d5e 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/KubernetesServiceInstance.java @@ -21,8 +21,9 @@ import java.util.Map; import java.util.Objects; import org.springframework.cloud.client.ServiceInstance; +import org.springframework.core.style.ToStringCreator; -public class KubernetesServiceInstance implements ServiceInstance { +public final class KubernetesServiceInstance implements ServiceInstance { /** * Key of the namespace metadata. @@ -33,10 +34,6 @@ public class KubernetesServiceInstance implements ServiceInstance { private static final String HTTPS_PREFIX = "https"; - private static final String DSL = "//"; - - private static final String COLON = ":"; - private String instanceId; private String serviceId; @@ -61,7 +58,7 @@ public class KubernetesServiceInstance implements ServiceInstance { * @param host the address where the service instance can be found. * @param port the port on which the service is running. * @param metadata a map containing metadata. - * @param secure indicates whether or not the connection needs to be secure. + * @param secure indicates whether the connection needs to be secure. */ public KubernetesServiceInstance(String instanceId, String serviceId, String host, int port, Map metadata, Boolean secure) { @@ -82,9 +79,9 @@ public class KubernetesServiceInstance implements ServiceInstance { * @param host the address where the service instance can be found. * @param port the port on which the service is running. * @param metadata a map containing metadata. - * @param secure indicates whether or not the connection needs to be secure. + * @param secure indicates whether the connection needs to be secure. * @param namespace the namespace of the service. - * @param cluster the clust the service resides in. + * @param cluster the cluster the service resides in. */ public KubernetesServiceInstance(String instanceId, String serviceId, String host, int port, Map metadata, Boolean secure, String namespace, String cluster) { @@ -143,7 +140,7 @@ public class KubernetesServiceInstance implements ServiceInstance { } private URI createUri(String scheme, String host, int port) { - return URI.create(scheme + COLON + DSL + host + COLON + port); + return URI.create(scheme + "://" + host + ":" + port); } public String getNamespace() { @@ -212,9 +209,18 @@ public class KubernetesServiceInstance implements ServiceInstance { @Override public String toString() { - return "KubernetesServiceInstance{" + "instanceId='" + instanceId + '\'' + ", serviceId='" + serviceId + '\'' - + ", host='" + host + '\'' + ", port=" + port + ", uri=" + uri + ", secure=" + secure + ", namespace=" - + getNamespace() + ", cluster=" + cluster + ", metadata=" + metadata + '}'; + ToStringCreator creator = new ToStringCreator(this); + creator.append("instanceId", instanceId); + creator.append("serviceId", serviceId); + creator.append("host", host); + creator.append("port", port); + creator.append("uri", uri); + creator.append("secure", secure); + creator.append("namespace", getNamespace()); + creator.append("cluster", cluster); + creator.append("metadata", metadata); + + return creator.toString(); } @Override diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientAutoConfiguration.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientAutoConfiguration.java index 704e5b76..5ea1242d 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientAutoConfiguration.java @@ -31,6 +31,7 @@ import org.springframework.cloud.client.ConditionalOnDiscoveryEnabled; import org.springframework.cloud.client.ConditionalOnDiscoveryHealthIndicatorEnabled; import org.springframework.cloud.client.discovery.simple.SimpleDiscoveryClientAutoConfiguration; import org.springframework.cloud.kubernetes.commons.PodUtils; +import org.springframework.cloud.kubernetes.commons.discovery.ConditionalOnKubernetesDiscoveryEnabled; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryClientHealthIndicatorInitializer; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; import org.springframework.cloud.kubernetes.fabric8.Fabric8AutoConfiguration; diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientAutoConfiguration.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientAutoConfiguration.java index 8ba38283..d08fcdaf 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/reactive/KubernetesReactiveDiscoveryClientAutoConfiguration.java @@ -32,8 +32,8 @@ import org.springframework.cloud.client.discovery.composite.reactive.ReactiveCom import org.springframework.cloud.client.discovery.health.DiscoveryClientHealthIndicatorProperties; import org.springframework.cloud.client.discovery.health.reactive.ReactiveDiscoveryClientHealthIndicator; import org.springframework.cloud.client.discovery.simple.reactive.SimpleReactiveDiscoveryClientAutoConfiguration; +import org.springframework.cloud.kubernetes.commons.discovery.ConditionalOnKubernetesDiscoveryEnabled; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; -import org.springframework.cloud.kubernetes.fabric8.discovery.ConditionalOnKubernetesDiscoveryEnabled; import org.springframework.cloud.kubernetes.fabric8.discovery.KubernetesClientServicesFunction; import org.springframework.cloud.kubernetes.fabric8.discovery.KubernetesDiscoveryClientAutoConfiguration; import org.springframework.context.annotation.Bean;