diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java index ecb0b136..48746f53 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryProperties.java @@ -45,7 +45,7 @@ import static com.alibaba.nacos.api.PropertyKeyConst.*; @ConfigurationProperties("spring.cloud.nacos.discovery") public class NacosDiscoveryProperties { - private static final Logger LOGGER = LoggerFactory + private static final Logger log = LoggerFactory .getLogger(NacosDiscoveryProperties.class); /** @@ -155,7 +155,7 @@ public class NacosDiscoveryProperties { serverAddr = Objects.toString(serverAddr, ""); if (serverAddr.lastIndexOf("/") != -1) { - serverAddr.substring(0, serverAddr.length() - 1); + serverAddr = serverAddr.substring(0, serverAddr.length() - 1); } endpoint = Objects.toString(endpoint, ""); namespace = Objects.toString(namespace, ""); @@ -401,7 +401,7 @@ public class NacosDiscoveryProperties { namingService = NacosFactory.createNamingService(properties); } catch (Exception e) { - LOGGER.error("create naming service error!properties={},e=,", this, e); + log.error("create naming service error!properties={},e=,", this, e); return null; } return namingService; diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClient.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClient.java index 1bc25ea5..351af8a5 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClient.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClient.java @@ -34,8 +34,7 @@ import java.util.*; */ public class NacosDiscoveryClient implements DiscoveryClient { - private static final Logger LOGGER = LoggerFactory - .getLogger(NacosDiscoveryClient.class); + private static final Logger log = LoggerFactory.getLogger(NacosDiscoveryClient.class); public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client"; private NacosDiscoveryProperties discoveryProperties; @@ -78,11 +77,12 @@ public class NacosDiscoveryClient implements DiscoveryClient { nacosServiceInstance.setHost(instance.getIp()); nacosServiceInstance.setPort(instance.getPort()); nacosServiceInstance.setServiceId(serviceId); + Map metadata = new HashMap<>(); - metadata.put("instanceId", instance.getInstanceId()); - metadata.put("weight", instance.getWeight() + ""); - metadata.put("healthy", instance.isHealthy() + ""); - metadata.put("cluster", instance.getClusterName() + ""); + metadata.put("nacos.instanceId", instance.getInstanceId()); + metadata.put("nacos.weight", instance.getWeight() + ""); + metadata.put("nacos.healthy", instance.isHealthy() + ""); + metadata.put("nacos.cluster", instance.getClusterName() + ""); metadata.putAll(instance.getMetadata()); nacosServiceInstance.setMetadata(metadata); @@ -111,7 +111,7 @@ public class NacosDiscoveryClient implements DiscoveryClient { return services.getData(); } catch (Exception e) { - LOGGER.error("get service name from nacos server fail,", e); + log.error("get service name from nacos server fail,", e); return Collections.emptyList(); } } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java index be0907c6..5eb3e381 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpoint.java @@ -35,7 +35,7 @@ import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; */ public class NacosDiscoveryEndpoint extends AbstractEndpoint> { - private static final Logger LOGGER = LoggerFactory + private static final Logger log = LoggerFactory .getLogger(NacosDiscoveryEndpoint.class); private NacosDiscoveryProperties nacosDiscoveryProperties; @@ -60,7 +60,7 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint subscribe = namingService.getSubscribeServices(); } catch (Exception e) { - LOGGER.error("get subscribe services from nacos fail,", e); + log.error("get subscribe services from nacos fail,", e); } result.put("subscribe", subscribe); return result; diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java index 8e57c23a..c5daf69f 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java @@ -18,6 +18,7 @@ package org.springframework.cloud.alibaba.nacos.endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.cloud.alibaba.nacos.ConditionalOnNacosDiscoveryEnabled; import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -27,6 +28,7 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @ConditionalOnClass(name = "org.springframework.boot.actuate.endpoint.AbstractEndpoint") +@ConditionalOnNacosDiscoveryEnabled public class NacosDiscoveryEndpointAutoConfiguration { @Bean diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistration.java index 05c638dc..340d4f2b 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosAutoServiceRegistration.java @@ -31,7 +31,7 @@ import org.springframework.util.StringUtils; */ public class NacosAutoServiceRegistration extends AbstractAutoServiceRegistration { - private static final Logger LOGGER = LoggerFactory + private static final Logger log = LoggerFactory .getLogger(NacosAutoServiceRegistration.class); private NacosRegistration registration; @@ -65,7 +65,7 @@ public class NacosAutoServiceRegistration @Override protected void register() { if (!this.registration.getNacosDiscoveryProperties().isRegisterEnabled()) { - LOGGER.debug("Registration disabled."); + log.debug("Registration disabled."); return; } if (this.registration.getPort() < 0) { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosServiceRegistry.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosServiceRegistry.java index d2d5fa67..6c362af6 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosServiceRegistry.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/registry/NacosServiceRegistry.java @@ -31,7 +31,7 @@ import org.springframework.util.StringUtils; */ public class NacosServiceRegistry implements ServiceRegistry { - private static Logger logger = LoggerFactory.getLogger(NacosServiceRegistry.class); + private static final Logger log = LoggerFactory.getLogger(NacosServiceRegistry.class); private final NacosDiscoveryProperties nacosDiscoveryProperties; @@ -46,7 +46,7 @@ public class NacosServiceRegistry implements ServiceRegistry { public void register(Registration registration) { if (StringUtils.isEmpty(registration.getServiceId())) { - logger.info("No service to register for nacos client..."); + log.warn("No service to register for nacos client..."); return; } @@ -61,11 +61,11 @@ public class NacosServiceRegistry implements ServiceRegistry { try { namingService.registerInstance(serviceId, instance); - logger.info("nacos registry, {} {}:{} register finished", serviceId, + log.info("nacos registry, {} {}:{} register finished", serviceId, instance.getIp(), instance.getPort()); } catch (Exception e) { - logger.error("nacos registry, {} register failed...{},", serviceId, + log.error("nacos registry, {} register failed...{},", serviceId, registration.toString(), e); } } @@ -73,10 +73,10 @@ public class NacosServiceRegistry implements ServiceRegistry { @Override public void deregister(Registration registration) { - logger.info("De-registering from Nacos Server now..."); + log.info("De-registering from Nacos Server now..."); if (StringUtils.isEmpty(registration.getServiceId())) { - logger.info("No dom to de-register for nacos client..."); + log.warn("No dom to de-register for nacos client..."); return; } @@ -88,11 +88,11 @@ public class NacosServiceRegistry implements ServiceRegistry { registration.getPort(), nacosDiscoveryProperties.getClusterName()); } catch (Exception e) { - logger.error("ERR_NACOS_DEREGISTER, de-register failed...{},", + log.error("ERR_NACOS_DEREGISTER, de-register failed...{},", registration.toString(), e); } - logger.info("De-registration finished."); + log.info("De-registration finished."); } @Override diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/RibbonNacosAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/RibbonNacosAutoConfiguration.java index 8180a700..7021fa7c 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/RibbonNacosAutoConfiguration.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/RibbonNacosAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.cloud.alibaba.nacos.ribbon; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.cloud.alibaba.nacos.ConditionalOnNacosDiscoveryEnabled; import org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; @@ -32,6 +33,7 @@ import org.springframework.context.annotation.Configuration; @EnableConfigurationProperties @ConditionalOnBean(SpringClientFactory.class) @ConditionalOnRibbonNacos +@ConditionalOnNacosDiscoveryEnabled @AutoConfigureAfter(RibbonAutoConfiguration.class) @RibbonClients(defaultConfiguration = NacosRibbonClientConfiguration.class) public class RibbonNacosAutoConfiguration { diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json index d0e82a51..75e8abd4 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -5,6 +5,12 @@ "defaultValue": "${spring.application.name}", "description": "the service name to register, default value is ${spring.application.name}." }, + { + "name": "spring.cloud.nacos.discovery.enabled", + "type": "java.lang.Boolean", + "defaultValue": true, + "description": "enable nacos discovery or not." + }, { "name": "spring.cloud.nacos.discovery.namingLoadCacheAtStart", "type": "java.lang.Boolean",