diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 000000000..44439fd8d
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,40 @@
+version: 2
+jobs:
+ build:
+ docker:
+ - image: springcloud/pipeline-base
+ user: appuser
+ environment:
+ _JAVA_OPTIONS: "-Xms1024m -Xmx2048m"
+ TERM: dumb
+ branches:
+ ignore:
+ - gh-pages # list of branches to ignore
+ resource_class: large
+ steps:
+ - checkout
+ - restore_cache:
+ key: sc-alibaba-{{ .Branch }}
+ - run:
+ name: "Download dependencies"
+ command: ./mvnw -Pspring -U --fail-never dependency:go-offline || true
+ - save_cache:
+ key: sc-alibaba-{{ .Branch }}
+ paths:
+ - ~/.m2
+ - run:
+ name: "Running build"
+ command: ./mvnw -Pspring clean install -U -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+ - run:
+ name: "Aggregate test results"
+ when: always
+ command: |
+ mkdir -p ~/junit/
+ find . -type f -regex ".*/target/.*-reports/.*" -exec cp {} ~/junit/ \;
+ bash <(curl -s https://codecov.io/bash)
+ - store_artifacts:
+ path: ~/junit/
+ destination: artifacts
+ - store_test_results:
+ path: ~/junit/
+ destination: testartifacts
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 960ae4c4c..7119f44c2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
org.springframework.cloud
spring-cloud-alibaba
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
pom
Spring Cloud Alibaba
diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml
index 8fc04cea2..de5831c51 100644
--- a/spring-cloud-alibaba-dependencies/pom.xml
+++ b/spring-cloud-alibaba-dependencies/pom.xml
@@ -10,7 +10,7 @@
spring-cloud-alibaba-dependencies
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
pom
Spring Cloud Alibaba Dependencies
Spring Cloud Alibaba Dependencies
@@ -18,7 +18,7 @@
0.2.0
3.1.0
- 0.2.1
+ 0.3.0-RC1
diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml
index 251ab7224..4ba76451c 100644
--- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml
+++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml
index 04912e722..ae431ced1 100644
--- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml
+++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
nacos-discovery-example
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
4.0.0
diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml
index 51f025c1f..eb67ce866 100644
--- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml
+++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
nacos-discovery-example
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
4.0.0
diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml
index 5ca506f5f..0185baf5b 100644
--- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml
+++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/oss-example/pom.xml b/spring-cloud-alibaba-examples/oss-example/pom.xml
index ea01e412a..06a6ffe36 100644
--- a/spring-cloud-alibaba-examples/oss-example/pom.xml
+++ b/spring-cloud-alibaba-examples/oss-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
4.0.0
diff --git a/spring-cloud-alibaba-examples/pom.xml b/spring-cloud-alibaba-examples/pom.xml
index 0a5e3e7ce..fbf652077 100644
--- a/spring-cloud-alibaba-examples/pom.xml
+++ b/spring-cloud-alibaba-examples/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
4.0.0
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml
index 3ba3032b9..65123f51e 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml
index b8f3dbffd..a54dd6ba0 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
../../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml
index 30a123bc9..3d55cec0a 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-consumer-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
../../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml
index 54feb1b4d..37df305a8 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-dubbo-example/sentinel-dubbo-provider-example/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
../../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-nacos-config/pom.xml b/spring-cloud-alibaba-nacos-config/pom.xml
index 85a31d69e..0ffb286d5 100644
--- a/spring-cloud-alibaba-nacos-config/pom.xml
+++ b/spring-cloud-alibaba-nacos-config/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
4.0.0
diff --git a/spring-cloud-alibaba-nacos-discovery/pom.xml b/spring-cloud-alibaba-nacos-discovery/pom.xml
index cee5c8373..ff061d2f6 100644
--- a/spring-cloud-alibaba-nacos-discovery/pom.xml
+++ b/spring-cloud-alibaba-nacos-discovery/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-alibaba
- 0.1.0
+ 0.1.0.BUILD-SNAPSHOT
4.0.0
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 78c7ddcca..6e0874221 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
@@ -16,7 +16,6 @@
package org.springframework.cloud.alibaba.nacos;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -48,12 +47,6 @@ public class NacosDiscoveryAutoConfiguration {
return new NacosServiceRegistry();
}
- @Bean
- @ConditionalOnMissingBean
- public NacosDiscoveryProperties nacosProperties() {
- return new NacosDiscoveryProperties();
- }
-
@Bean
@ConditionalOnBean(AutoServiceRegistrationProperties.class)
public NacosRegistration nacosRegistration() {
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 f9acd9476..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
@@ -19,11 +19,10 @@ package org.springframework.cloud.alibaba.nacos;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration;
+import org.springframework.cloud.client.DefaultServiceInstance;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
-import java.net.URI;
import java.util.*;
import com.alibaba.nacos.api.naming.NamingService;
@@ -40,7 +39,7 @@ public class NacosDiscoveryClient implements DiscoveryClient {
public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client";
@Autowired
- private NacosRegistration nacosRegistration;
+ private NacosDiscoveryProperties discoveryProperties;
@Override
public String description() {
@@ -49,44 +48,19 @@ public class NacosDiscoveryClient implements DiscoveryClient {
@Override
public ServiceInstance getLocalServiceInstance() {
- return new ServiceInstance() {
- @Override
- public String getServiceId() {
- return nacosRegistration.getServiceId();
- }
-
- @Override
- public String getHost() {
- return nacosRegistration.getHost();
- }
-
- @Override
- public int getPort() {
- return nacosRegistration.getPort();
- }
-
- @Override
- public boolean isSecure() {
- return nacosRegistration.isSecure();
- }
-
- @Override
- public URI getUri() {
- return nacosRegistration.getUri();
- }
-
- @Override
- public Map getMetadata() {
- return nacosRegistration.getMetadata();
- }
- };
+ String serviceId = discoveryProperties.getService();
+ String host = discoveryProperties.getIp();
+ int port = discoveryProperties.getPort();
+ boolean secure = discoveryProperties.isSecure();
+ Map metadata = discoveryProperties.getMetadata();
+ return new DefaultServiceInstance(serviceId, host, port, secure, metadata);
}
@Override
public List getInstances(String serviceId) {
try {
- NamingService namingService = nacosRegistration.getNacosNamingService();
- List instances = namingService.getAllInstances(serviceId);
+ List instances = discoveryProperties.namingServiceInstance()
+ .getAllInstances(serviceId);
return hostToServiceInstanceList(instances, serviceId);
}
catch (Exception e) {
@@ -126,9 +100,8 @@ public class NacosDiscoveryClient implements DiscoveryClient {
public List getServices() {
try {
- NamingService namingService = nacosRegistration.getNacosNamingService();
- ListView services = namingService.getServicesOfServer(1,
- Integer.MAX_VALUE);
+ ListView services = discoveryProperties.namingServiceInstance()
+ .getServicesOfServer(1, Integer.MAX_VALUE);
return services.getData();
}
catch (Exception e) {
@@ -137,4 +110,7 @@ public class NacosDiscoveryClient implements DiscoveryClient {
}
}
+ public NamingService getNamingService() {
+ return discoveryProperties.namingServiceInstance();
+ }
}
diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java
index 2563cbe6d..05049f4b3 100644
--- a/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java
+++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryClientAutoConfiguration.java
@@ -36,4 +36,10 @@ public class NacosDiscoveryClientAutoConfiguration {
return new NacosDiscoveryClient();
}
+ @Bean
+ @ConditionalOnMissingBean
+ public NacosDiscoveryProperties nacosProperties() {
+ return new NacosDiscoveryProperties();
+ }
+
}
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 43b6a5c7e..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
@@ -16,6 +16,8 @@
package org.springframework.cloud.alibaba.nacos;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -33,6 +35,18 @@ import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
+import java.util.Properties;
+
+import com.alibaba.nacos.api.NacosFactory;
+import com.alibaba.nacos.api.naming.NamingService;
+import com.alibaba.nacos.client.naming.utils.UtilAndComs;
+
+import static com.alibaba.nacos.api.PropertyKeyConst.ACCESS_KEY;
+import static com.alibaba.nacos.api.PropertyKeyConst.CLUSTER_NAME;
+import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT;
+import static com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE;
+import static com.alibaba.nacos.api.PropertyKeyConst.SECRET_KEY;
+import static com.alibaba.nacos.api.PropertyKeyConst.SERVER_ADDR;
/**
* @author dungu.zpf
@@ -42,6 +56,9 @@ import java.util.Objects;
@ConfigurationProperties("spring.cloud.nacos.discovery")
public class NacosDiscoveryProperties {
+ private static final Logger LOGGER = LoggerFactory
+ .getLogger(NacosDiscoveryProperties.class);
+
/**
* nacos discovery server address
*/
@@ -125,6 +142,11 @@ public class NacosDiscoveryProperties {
@Autowired
private InetUtils inetUtils;
+ @Autowired
+ private Environment environment;
+
+ private NamingService namingService;
+
@PostConstruct
public void init() throws SocketException {
@@ -163,6 +185,8 @@ public class NacosDiscoveryProperties {
}
}
+
+ this.overrideFromEnv(environment);
}
public String getEndpoint() {
@@ -333,4 +357,28 @@ public class NacosDiscoveryProperties {
}
}
+ public NamingService namingServiceInstance() {
+
+ if (null != namingService) {
+ return namingService;
+ }
+
+ Properties properties = new Properties();
+ properties.put(SERVER_ADDR, serverAddr);
+ properties.put(NAMESPACE, namespace);
+ properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, logName);
+ properties.put(ENDPOINT, endpoint);
+ properties.put(ACCESS_KEY, accessKey);
+ properties.put(SECRET_KEY, secretKey);
+ properties.put(CLUSTER_NAME, clusterName);
+ try {
+ namingService = NacosFactory.createNamingService(properties);
+ return namingService;
+ }
+ catch (Exception e) {
+ LOGGER.error("create naming service error!properties={},e=,", this, e);
+ return null;
+ }
+ }
+
}
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 a68f63008..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
@@ -29,7 +29,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
import org.springframework.cloud.alibaba.nacos.NacosDiscoveryProperties;
-import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration;
/**
* Endpoint for nacos discovery, get nacos properties and subscribed services
@@ -43,9 +42,6 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint