diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java
index 5b283c9a..afdad4f3 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java
@@ -64,8 +64,8 @@ import static com.alibaba.nacos.api.PropertyKeyConst.USERNAME;
* @author xiaojing
* @author Mercy
* @author lyuzb
+ * @author eshun
*/
-
@ConfigurationProperties("spring.cloud.nacos.discovery")
public class NacosDiscoveryProperties {
@@ -211,6 +211,7 @@ public class NacosDiscoveryProperties {
@PostConstruct
public void init() throws SocketException {
+ namingService = null;
metadata.put(PreservedMetadataKeys.REGISTER_SOURCE, "SPRING_CLOUD");
if (secure) {
diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java
index b0974a55..a332038f 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java
@@ -33,6 +33,7 @@ import static org.springframework.util.ReflectionUtils.rethrowRuntimeException;
/**
* @author xiaojing
* @author Mercy
+ * @author eshun
*/
public class NacosServiceRegistry implements ServiceRegistry {
@@ -40,11 +41,8 @@ public class NacosServiceRegistry implements ServiceRegistry {
private final NacosDiscoveryProperties nacosDiscoveryProperties;
- private final NamingService namingService;
-
public NacosServiceRegistry(NacosDiscoveryProperties nacosDiscoveryProperties) {
this.nacosDiscoveryProperties = nacosDiscoveryProperties;
- this.namingService = nacosDiscoveryProperties.namingServiceInstance();
}
@Override
@@ -55,6 +53,7 @@ public class NacosServiceRegistry implements ServiceRegistry {
return;
}
+ NamingService namingService = namingService();
String serviceId = registration.getServiceId();
String group = nacosDiscoveryProperties.getGroup();
@@ -84,7 +83,7 @@ public class NacosServiceRegistry implements ServiceRegistry {
return;
}
- NamingService namingService = nacosDiscoveryProperties.namingServiceInstance();
+ NamingService namingService = namingService();
String serviceId = registration.getServiceId();
String group = nacosDiscoveryProperties.getGroup();
@@ -165,4 +164,8 @@ public class NacosServiceRegistry implements ServiceRegistry {
return instance;
}
+ private NamingService namingService() {
+ return nacosDiscoveryProperties.namingServiceInstance();
+ }
+
}