diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml
index 8fc04cea2..d9455dc7a 100644
--- a/spring-cloud-alibaba-dependencies/pom.xml
+++ b/spring-cloud-alibaba-dependencies/pom.xml
@@ -18,7 +18,7 @@
0.2.0
3.1.0
- 0.2.1
+ 0.3.0-RC1
diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java
index bab4b1a2a..ba1d4ef08 100644
--- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java
+++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClient.java
@@ -22,12 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.DefaultServiceInstance;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.core.env.Environment;
import java.util.*;
-import javax.annotation.PostConstruct;
-
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import com.alibaba.nacos.api.naming.pojo.ListView;
@@ -44,22 +41,11 @@ public class NacosDiscoveryClient implements DiscoveryClient {
@Autowired
private NacosDiscoveryProperties discoveryProperties;
- @Autowired
- private Environment environment;
-
- private NamingService namingService;
-
@Override
public String description() {
return DESCRIPTION;
}
- @PostConstruct
- public void init() {
- discoveryProperties.overrideFromEnv(environment);
- namingService = discoveryProperties.getNamingService();
- }
-
@Override
public ServiceInstance getLocalServiceInstance() {
String serviceId = discoveryProperties.getService();
@@ -73,7 +59,8 @@ public class NacosDiscoveryClient implements DiscoveryClient {
@Override
public List getInstances(String serviceId) {
try {
- List instances = namingService.getAllInstances(serviceId);
+ List instances = discoveryProperties.namingServiceInstance()
+ .getAllInstances(serviceId);
return hostToServiceInstanceList(instances, serviceId);
}
catch (Exception e) {
@@ -113,8 +100,8 @@ public class NacosDiscoveryClient implements DiscoveryClient {
public List getServices() {
try {
- ListView services = namingService.getServicesOfServer(1,
- Integer.MAX_VALUE);
+ ListView services = discoveryProperties.namingServiceInstance()
+ .getServicesOfServer(1, Integer.MAX_VALUE);
return services.getData();
}
catch (Exception e) {
@@ -124,6 +111,6 @@ public class NacosDiscoveryClient implements DiscoveryClient {
}
public NamingService getNamingService() {
- return namingService;
+ return discoveryProperties.namingServiceInstance();
}
}
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 aa9271a8d..fdb0d0e93 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
@@ -142,6 +142,11 @@ public class NacosDiscoveryProperties {
@Autowired
private InetUtils inetUtils;
+ @Autowired
+ private Environment environment;
+
+ private NamingService namingService;
+
@PostConstruct
public void init() throws SocketException {
@@ -180,6 +185,8 @@ public class NacosDiscoveryProperties {
}
}
+
+ this.overrideFromEnv(environment);
}
public String getEndpoint() {
@@ -350,7 +357,12 @@ public class NacosDiscoveryProperties {
}
}
- public NamingService getNamingService() {
+ public NamingService namingServiceInstance() {
+
+ if (null != namingService) {
+ return namingService;
+ }
+
Properties properties = new Properties();
properties.put(SERVER_ADDR, serverAddr);
properties.put(NAMESPACE, namespace);
@@ -360,7 +372,8 @@ public class NacosDiscoveryProperties {
properties.put(SECRET_KEY, secretKey);
properties.put(CLUSTER_NAME, clusterName);
try {
- return NacosFactory.createNamingService(properties);
+ namingService = NacosFactory.createNamingService(properties);
+ return namingService;
}
catch (Exception e) {
LOGGER.error("create naming service error!properties={},e=,", this, e);
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 dfa1fbb66..ef29eae19 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
@@ -28,7 +28,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
-import org.springframework.cloud.alibaba.nacos.NacosDiscoveryClient;
import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties;
/**
@@ -43,9 +42,6 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint