diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java
index 25131395..3bde6e42 100644
--- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java
+++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java
@@ -28,7 +28,7 @@ import org.springframework.cloud.alibaba.nacos.discovery.NacosDiscoveryClientAut
import org.springframework.cloud.alibaba.nacos.registry.NacosAutoServiceRegistration;
import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration;
import org.springframework.cloud.alibaba.nacos.registry.NacosServiceRegistry;
-import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration;
+import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
@@ -43,7 +43,7 @@ import org.springframework.context.annotation.Configuration;
@ConditionalOnNacosDiscoveryEnabled
@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true)
@AutoConfigureBefore(NacosDiscoveryClientAutoConfiguration.class)
-@AutoConfigureAfter(AutoServiceRegistrationAutoConfiguration.class)
+@AutoConfigureAfter(AutoServiceRegistrationConfiguration.class)
public class NacosDiscoveryAutoConfiguration {
@Bean
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 c1b486f9..ecb0b136 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
@@ -154,8 +154,8 @@ public class NacosDiscoveryProperties {
}
serverAddr = Objects.toString(serverAddr, "");
- if(serverAddr.lastIndexOf("/") != -1) {
- serverAddr.substring(0,serverAddr.length()-1);
+ if (serverAddr.lastIndexOf("/") != -1) {
+ serverAddr.substring(0, serverAddr.length() - 1);
}
endpoint = Objects.toString(endpoint, "");
namespace = Objects.toString(namespace, "");
@@ -397,13 +397,14 @@ public class NacosDiscoveryProperties {
properties.put(CLUSTER_NAME, clusterName);
properties.put(NAMING_LOAD_CACHE_AT_START, namingLoadCacheAtStart);
- try {
- namingService = NacosFactory.createNamingService(properties);
- } catch (Exception e) {
+ try {
+ namingService = NacosFactory.createNamingService(properties);
+ }
+ catch (Exception e) {
LOGGER.error("create naming service error!properties={},e=,", this, e);
return null;
}
- return namingService;
+ return namingService;
}
}
diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java
index 6d092f8b..5fe818b3 100644
--- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java
+++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/discovery/NacosDiscoveryClientAutoConfiguration.java
@@ -21,8 +21,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.alibaba.nacos.ConditionalOnNacosDiscoveryEnabled;
import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties;
-import org.springframework.cloud.alibaba.nacos.discovery.NacosDiscoveryClient;
-import org.springframework.cloud.alibaba.nacos.discovery.NacosWatch;
import org.springframework.cloud.client.CommonsClientAutoConfiguration;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.simple.SimpleDiscoveryClientAutoConfiguration;
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 24b0a848..4f7094f0 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
@@ -30,75 +30,74 @@ import org.springframework.util.StringUtils;
* @author Mercy
*/
public class NacosAutoServiceRegistration
- extends AbstractAutoServiceRegistration {
- private static final Logger LOGGER = LoggerFactory
- .getLogger(NacosAutoServiceRegistration.class);
+ extends AbstractAutoServiceRegistration {
+ private static final Logger LOGGER = LoggerFactory
+ .getLogger(NacosAutoServiceRegistration.class);
- private NacosRegistration registration;
+ private NacosRegistration registration;
- public NacosAutoServiceRegistration(
- ServiceRegistry serviceRegistry,
- AutoServiceRegistrationProperties autoServiceRegistrationProperties,
- NacosRegistration registration) {
- super(serviceRegistry, autoServiceRegistrationProperties);
- this.registration = registration;
- }
+ public NacosAutoServiceRegistration(ServiceRegistry serviceRegistry,
+ AutoServiceRegistrationProperties autoServiceRegistrationProperties,
+ NacosRegistration registration) {
+ super(serviceRegistry, autoServiceRegistrationProperties);
+ this.registration = registration;
+ }
- @Deprecated
- public void setPort(int port) {
- getPort().set(port);
- }
+ @Deprecated
+ public void setPort(int port) {
+ getPort().set(port);
+ }
- @Override
- protected NacosRegistration getRegistration() {
- if (this.registration.getPort() < 0 && this.getPort().get() > 0) {
- this.registration.setPort(this.getPort().get());
- }
- Assert.isTrue(this.registration.getPort() > 0, "service.port has not been set");
- return this.registration;
- }
+ @Override
+ protected NacosRegistration getRegistration() {
+ if (this.registration.getPort() < 0 && this.getPort().get() > 0) {
+ this.registration.setPort(this.getPort().get());
+ }
+ Assert.isTrue(this.registration.getPort() > 0, "service.port has not been set");
+ return this.registration;
+ }
- @Override
- protected NacosRegistration getManagementRegistration() {
- return null;
- }
+ @Override
+ protected NacosRegistration getManagementRegistration() {
+ return null;
+ }
- @Override
- protected void register() {
- if (!this.registration.getNacosDiscoveryProperties().isRegisterEnabled()) {
- LOGGER.debug("Registration disabled.");
- return;
- }
- if (this.registration.getPort() < 0) {
- this.registration.setPort(getPort().get());
- }
- super.register();
- }
+ @Override
+ protected void register() {
+ if (!this.registration.getNacosDiscoveryProperties().isRegisterEnabled()) {
+ LOGGER.debug("Registration disabled.");
+ return;
+ }
+ if (this.registration.getPort() < 0) {
+ this.registration.setPort(getPort().get());
+ }
+ super.register();
+ }
- @Override
- protected void registerManagement() {
- if (!this.registration.getNacosDiscoveryProperties().isRegisterEnabled()) {
- return;
- }
- super.registerManagement();
+ @Override
+ protected void registerManagement() {
+ if (!this.registration.getNacosDiscoveryProperties().isRegisterEnabled()) {
+ return;
+ }
+ super.registerManagement();
- }
+ }
- @Override
- protected Object getConfiguration() {
- return this.registration.getNacosDiscoveryProperties();
- }
+ @Override
+ protected Object getConfiguration() {
+ return this.registration.getNacosDiscoveryProperties();
+ }
- @Override
- protected boolean isEnabled() {
- return this.registration.getNacosDiscoveryProperties().isRegisterEnabled();
- }
+ @Override
+ protected boolean isEnabled() {
+ return this.registration.getNacosDiscoveryProperties().isRegisterEnabled();
+ }
- @Override
- @SuppressWarnings("deprecation")
- protected String getAppName() {
- String appName = registration.getNacosDiscoveryProperties().getService();
- return StringUtils.isEmpty(appName) ? super.getAppName() : appName;
- }
+ @Override
+ @SuppressWarnings("deprecation")
+ protected String getAppName() {
+ String appName = registration.getNacosDiscoveryProperties().getService();
+ return StringUtils.isEmpty(appName) ? super.getAppName() : appName;
+ }
}
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 121d9f9e..d2d5fa67 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
@@ -18,7 +18,6 @@ package org.springframework.cloud.alibaba.nacos.registry;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties;
@@ -32,83 +31,84 @@ import org.springframework.util.StringUtils;
*/
public class NacosServiceRegistry implements ServiceRegistry {
- private static Logger logger = LoggerFactory.getLogger(NacosServiceRegistry.class);
+ private static Logger logger = LoggerFactory.getLogger(NacosServiceRegistry.class);
- private final NacosDiscoveryProperties nacosDiscoveryProperties;
+ private final NacosDiscoveryProperties nacosDiscoveryProperties;
- private final NamingService namingService;
+ private final NamingService namingService;
- public NacosServiceRegistry(NacosDiscoveryProperties nacosDiscoveryProperties) {
- this.nacosDiscoveryProperties = nacosDiscoveryProperties;
- this.namingService = nacosDiscoveryProperties.namingServiceInstance();
- }
+ public NacosServiceRegistry(NacosDiscoveryProperties nacosDiscoveryProperties) {
+ this.nacosDiscoveryProperties = nacosDiscoveryProperties;
+ this.namingService = nacosDiscoveryProperties.namingServiceInstance();
+ }
+ @Override
+ public void register(Registration registration) {
- @Override
- public void register(Registration registration) {
+ if (StringUtils.isEmpty(registration.getServiceId())) {
+ logger.info("No service to register for nacos client...");
+ return;
+ }
- if (StringUtils.isEmpty(registration.getServiceId())) {
- logger.info("No service to register for nacos client...");
- return;
- }
+ String serviceId = registration.getServiceId();
- String serviceId = registration.getServiceId();
+ Instance instance = new Instance();
+ instance.setIp(registration.getHost());
+ instance.setPort(registration.getPort());
+ instance.setWeight(nacosDiscoveryProperties.getWeight());
+ instance.setClusterName(nacosDiscoveryProperties.getClusterName());
+ instance.setMetadata(registration.getMetadata());
- Instance instance = new Instance();
- instance.setIp(registration.getHost());
- instance.setPort(registration.getPort());
- instance.setWeight(nacosDiscoveryProperties.getWeight());
- instance.setClusterName(nacosDiscoveryProperties.getClusterName());
- instance.setMetadata(registration.getMetadata());
+ try {
+ namingService.registerInstance(serviceId, instance);
+ logger.info("nacos registry, {} {}:{} register finished", serviceId,
+ instance.getIp(), instance.getPort());
+ }
+ catch (Exception e) {
+ logger.error("nacos registry, {} register failed...{},", serviceId,
+ registration.toString(), e);
+ }
+ }
- try {
- namingService.registerInstance(serviceId, instance);
- logger.info("nacos registry, {} {}:{} register finished", serviceId,
- instance.getIp(), instance.getPort());
- } catch (Exception e) {
- logger.error("nacos registry, {} register failed...{},", serviceId,
- registration.toString(), e);
- }
- }
+ @Override
+ public void deregister(Registration registration) {
- @Override
- public void deregister(Registration registration) {
+ logger.info("De-registering from Nacos Server now...");
- logger.info("De-registering from Nacos Server now...");
+ if (StringUtils.isEmpty(registration.getServiceId())) {
+ logger.info("No dom to de-register for nacos client...");
+ return;
+ }
- if (StringUtils.isEmpty(registration.getServiceId())) {
- logger.info("No dom to de-register for nacos client...");
- return;
- }
+ NamingService namingService = nacosDiscoveryProperties.namingServiceInstance();
+ String serviceId = registration.getServiceId();
- NamingService namingService = nacosDiscoveryProperties.namingServiceInstance();
- String serviceId = registration.getServiceId();
+ try {
+ namingService.deregisterInstance(serviceId, registration.getHost(),
+ registration.getPort(), nacosDiscoveryProperties.getClusterName());
+ }
+ catch (Exception e) {
+ logger.error("ERR_NACOS_DEREGISTER, de-register failed...{},",
+ registration.toString(), e);
+ }
- try {
- namingService.deregisterInstance(serviceId, registration.getHost(),
- registration.getPort(), nacosDiscoveryProperties.getClusterName());
- } catch (Exception e) {
- logger.error("ERR_NACOS_DEREGISTER, de-register failed...{},",
- registration.toString(), e);
- }
+ logger.info("De-registration finished.");
+ }
- logger.info("De-registration finished.");
- }
+ @Override
+ public void close() {
- @Override
- public void close() {
+ }
- }
+ @Override
+ public void setStatus(Registration registration, String status) {
+ // nacos doesn't support set status of a particular registration.
+ }
- @Override
- public void setStatus(Registration registration, String status) {
- // nacos doesn't support set status of a particular registration.
- }
-
- @Override
- public T getStatus(Registration registration) {
- // nacos doesn't support query status of a particular registration.
- return null;
- }
+ @Override
+ public T getStatus(Registration registration) {
+ // nacos doesn't support query status of a particular registration.
+ return null;
+ }
}
diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java
index ba64dbda..70f33f97 100644
--- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java
+++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServer.java
@@ -23,6 +23,7 @@ import java.util.Map;
/**
* @author xiaojing
+ * @author pbting
*/
public class NacosServer extends Server {
diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java
index 02195546..9bfcefaa 100644
--- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java
+++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/ribbon/NacosServerList.java
@@ -62,7 +62,10 @@ public class NacosServerList extends AbstractServerList {
}
private List instancesToServerList(List instances) {
- List result = new ArrayList<>(instances.size());
+ List result = new ArrayList<>();
+ if (null == instances) {
+ return result;
+ }
for (Instance instance : instances) {
result.add(new NacosServer(instance));
}