From b81f998f40a320082ead489b1609a4fb0622eb31 Mon Sep 17 00:00:00 2001 From: yuhuangbin Date: Wed, 9 Sep 2020 14:55:39 +0800 Subject: [PATCH] fix --- .../cloud/nacos/NacosDiscoveryProperties.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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 9b350990..f3297e8a 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 @@ -23,6 +23,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -215,7 +216,7 @@ public class NacosDiscoveryProperties { private NacosServiceManager nacosServiceManager; @Autowired - private NacosAutoServiceRegistration nacosAutoServiceRegistration; + private Optional nacosAutoServiceRegistrationOptional; @PostConstruct public void init() throws Exception { @@ -266,11 +267,13 @@ public class NacosDiscoveryProperties { this.overrideFromEnv(environment); - if (nacosServiceManager.isNacosDiscoveryInfoChanged(this)) { - nacosAutoServiceRegistration.stop(); - nacosServiceManager.reBuildNacosService(getNacosProperties()); - nacosAutoServiceRegistration.start(); - } + nacosAutoServiceRegistrationOptional.ifPresent(nacosAutoServiceRegistration -> { + if (nacosServiceManager.isNacosDiscoveryInfoChanged(this)) { + nacosAutoServiceRegistration.stop(); + nacosServiceManager.reBuildNacosService(getNacosProperties()); + nacosAutoServiceRegistration.start(); + } + }); } public String getEndpoint() {