diff --git a/README-zh.md b/README-zh.md
index 32b4098f..54a9cfa1 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -48,7 +48,7 @@ Example 列表:
[Nacos Discovery Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md)
-[AliCloud OSS Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/storage-example/readme-zh.md)
+[AliCloud OSS Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/oss-example/readme-zh.md)
## 版本管理规范
项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从0开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用0,即版本号为 0.x.x 的格式。
diff --git a/README.md b/README.md
index 0811db0a..c0941db3 100644
--- a/README.md
+++ b/README.md
@@ -47,7 +47,7 @@ Examples:
[Nacos Discovery Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme.md)
-[AliCloud OSS Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/storage-example/readme.md)
+[AliCloud OSS Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/oss-example/readme.md)
## Version control guidelines
The version number of the project is in the form of x.x.x, where x is a number, starting from 0, and is not limited to the range 0~9. When the project is in the incubator phase, the first version number is fixed to 0, that is, the version number is 0.x.x.
diff --git a/pom.xml b/pom.xml
index 65a555a0..960ae4c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,13 +8,13 @@
org.springframework.cloud
spring-cloud-build
- 1.3.8.RELEASE
+ 1.3.10.RELEASE
org.springframework.cloud
spring-cloud-alibaba
- 0.1.0.BUILD-SNAPSHOT
+ 0.1.0
pom
Spring Cloud Alibaba
@@ -73,12 +73,14 @@
spring-cloud-alibaba-dependencies
spring-cloud-alibaba-sentinel
- spring-cloud-alibaba-storage
+
spring-cloud-alibaba-nacos-config
spring-cloud-alibaba-nacos-discovery
spring-cloud-alibaba-examples
spring-cloud-alibaba-test
spring-cloud-starter-alibaba
+ spring-cloud-starter-alicloud
+ spring-cloud-alicloud-oss
diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml
index 35244bb0..8fc04cea 100644
--- a/spring-cloud-alibaba-dependencies/pom.xml
+++ b/spring-cloud-alibaba-dependencies/pom.xml
@@ -6,19 +6,19 @@
spring-cloud-dependencies-parent
org.springframework.cloud
- 1.3.3.BUILD-SNAPSHOT
+ 1.3.10.RELEASE
spring-cloud-alibaba-dependencies
- 0.1.0.BUILD-SNAPSHOT
+ 0.1.0
pom
Spring Cloud Alibaba Dependencies
Spring Cloud Alibaba Dependencies
- 0.1.1
+ 0.2.0
3.1.0
- 0.2.1-RC1
+ 0.2.1
@@ -98,7 +98,7 @@
org.springframework.cloud
- spring-cloud-alibaba-storage
+ spring-cloud-alicloud-oss
${project.version}
@@ -120,7 +120,7 @@
org.springframework.cloud
- spring-cloud-starter-alibaba-storage
+ spring-cloud-starter-alicloud-oss
${project.version}
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 4ba76451..251ab722 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.BUILD-SNAPSHOT
+ 0.1.0
../../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 ae431ced..04912e72 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.BUILD-SNAPSHOT
+ 0.1.0
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 eb67ce86..51f025c1 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.BUILD-SNAPSHOT
+ 0.1.0
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 0185baf5..5ca506f5 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.BUILD-SNAPSHOT
+ 0.1.0
../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/storage-example/pom.xml b/spring-cloud-alibaba-examples/oss-example/pom.xml
similarity index 86%
rename from spring-cloud-alibaba-examples/storage-example/pom.xml
rename to spring-cloud-alibaba-examples/oss-example/pom.xml
index 81806947..ea01e412 100644
--- a/spring-cloud-alibaba-examples/storage-example/pom.xml
+++ b/spring-cloud-alibaba-examples/oss-example/pom.xml
@@ -5,14 +5,14 @@
org.springframework.cloud
spring-cloud-alibaba-examples
- 0.1.0.BUILD-SNAPSHOT
+ 0.1.0
4.0.0
- storage-example
+ oss-example
jar
- Example demonstrating how to use storage
+ Example demonstrating how to use alicloud oss
@@ -22,7 +22,7 @@
org.springframework.cloud
- spring-cloud-starter-alibaba-storage
+ spring-cloud-starter-alicloud-oss
diff --git a/spring-cloud-alibaba-examples/storage-example/readme-zh.md b/spring-cloud-alibaba-examples/oss-example/readme-zh.md
similarity index 98%
rename from spring-cloud-alibaba-examples/storage-example/readme-zh.md
rename to spring-cloud-alibaba-examples/oss-example/readme-zh.md
index 9efb0c05..452ca9fd 100644
--- a/spring-cloud-alibaba-examples/storage-example/readme-zh.md
+++ b/spring-cloud-alibaba-examples/oss-example/readme-zh.md
@@ -13,11 +13,11 @@
**注意:本节只是为了便于您理解接入方式,本示例代码中已经完成接入工作,您只需修改 accessKeyId、secretAccessKey、region 即可。**
-1. 修改 pom.xml 文件,引入 Storage starter。
+1. 修改 pom.xml 文件,引入 OSS starter。
org.springframework.cloud
- spring-cloud-starter-alibaba-storage
+ spring-cloud-starter-alicloud-oss
2. 在配置文件中配置 OSS 服务对应的 accessKeyId、secretAccessKey 和 region。
diff --git a/spring-cloud-alibaba-examples/storage-example/readme.md b/spring-cloud-alibaba-examples/oss-example/readme.md
similarity index 97%
rename from spring-cloud-alibaba-examples/storage-example/readme.md
rename to spring-cloud-alibaba-examples/oss-example/readme.md
index a095ea9a..8fe54d2f 100644
--- a/spring-cloud-alibaba-examples/storage-example/readme.md
+++ b/spring-cloud-alibaba-examples/oss-example/readme.md
@@ -1,4 +1,4 @@
-# Storage Example
+# OSS Example
## Introduction
If your applications are Spring Cloud applications and you need to use Alibaba Cloud's OSS service for file storage (for example, storing commodity image for your e-commerce business), you can use OSS starter. This topic provides an example to illustrate how to use OSS starter to implement object storage for Spring Cloud applications.
@@ -13,11 +13,11 @@ If your applications are Spring Cloud applications and you need to use Alibaba C
Before we start the demo, let's learn how to connect OSS to a Spring Cloud application.
**Note: This section is to show you how to connect to oss. The actual configurations have been completed in the following example, and you only need to specify your accessKeyId, secretAccessKey and region.**
-1. Add dependency spring-cloud-starter-alibaba-storage in the pom.xml file in your Spring Cloud project.
+1. Add dependency spring-cloud-starter-alicloud-oss in the pom.xml file in your Spring Cloud project.
org.springframework.cloud
- spring-cloud-starter-alibaba-storage
+ spring-cloud-starter-alicloud-oss
2. Configure accessKeyId, secretAccessKey and region in application.properties.
diff --git a/spring-cloud-alibaba-examples/storage-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSApplication.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSApplication.java
similarity index 100%
rename from spring-cloud-alibaba-examples/storage-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSApplication.java
rename to spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSApplication.java
diff --git a/spring-cloud-alibaba-examples/storage-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSController.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSController.java
similarity index 100%
rename from spring-cloud-alibaba-examples/storage-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSController.java
rename to spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OSSController.java
diff --git a/spring-cloud-alibaba-examples/storage-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/oss-example/src/main/resources/application.properties
similarity index 100%
rename from spring-cloud-alibaba-examples/storage-example/src/main/resources/application.properties
rename to spring-cloud-alibaba-examples/oss-example/src/main/resources/application.properties
diff --git a/spring-cloud-alibaba-examples/storage-example/src/main/resources/oss-test.json b/spring-cloud-alibaba-examples/oss-example/src/main/resources/oss-test.json
similarity index 100%
rename from spring-cloud-alibaba-examples/storage-example/src/main/resources/oss-test.json
rename to spring-cloud-alibaba-examples/oss-example/src/main/resources/oss-test.json
diff --git a/spring-cloud-alibaba-examples/pom.xml b/spring-cloud-alibaba-examples/pom.xml
index 6d6bdc96..0a5e3e7c 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.BUILD-SNAPSHOT
+ 0.1.0
4.0.0
@@ -22,7 +22,7 @@
sentinel-example/sentinel-dubbo-example/sentinel-dubbo-api
nacos-example/nacos-discovery-example
nacos-example/nacos-config-example
- storage-example
+ oss-example
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 65123f51..3ba3032b 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.BUILD-SNAPSHOT
+ 0.1.0
../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md
index 49d1e898..47b4a51d 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme-zh.md
@@ -78,7 +78,7 @@
```
spring.application.name=sentinel-example
server.port=18083
- spring.cloud.sentinel.dashboard=localhost:8080
+ spring.cloud.sentinel.transport.dashboard=localhost:8080
```
2. 启动应用,支持 IDE 直接启动和编译打包后启动。
@@ -204,7 +204,7 @@ Sentinel starter 整合了目前存在的几类 DataSource。只需要在配置
spring.cloud.sentinel.datasource.recommendRefreshMs=2000
spring.cloud.sentinel.datasource.bufSize=2048
spring.cloud.sentinel.datasource.charset=utf-8
- spring.cloud.sentinel.datasource.configParser=myParser
+ spring.cloud.sentinel.datasource.converter=myParser
spring.cloud.sentinel.datasource.file=/Users/you/rule.json
然后使用`@SentinelDataSource` 注解修饰 DataSource 即可注入:
@@ -220,7 +220,7 @@ Sentinel starter 整合了目前存在的几类 DataSource。只需要在配置
`spring.cloud.sentinel.datasource.recommendRefreshMs` 里的 `recommendRefreshMs` 对应相关 DataSource 的属性。
-`spring.cloud.sentinel.datasource.configParser`代表 `ConfigParser` 在 Spring 容器里的 name。如果没找到,会抛出异常。
+`spring.cloud.sentinel.datasource.converter`代表 `Converter` 在 Spring 容器里的 name。如果没找到,会抛出异常。
type目前支持file, nacos, zk, apollo。
@@ -260,7 +260,7 @@ type目前支持file, nacos, zk, apollo。
spring.cloud.sentinel.datasource.fieldA = valueA
spring.cloud.sentinel.datasource.fieldB = valueB
- 注意:由于目前Sentinel的AbstractDataSource需要有个ConfigParser作为构造函数中的参数,并且它的子类的构造都是通过多个参数的构造函数构造的。
+ 注意:由于目前Sentinel的AbstractDataSource需要有个Converter作为构造函数中的参数,并且它的子类的构造都是通过多个参数的构造函数构造的。
所以目前所有的Sentinel starter中的DataSource都是基于FactoryBean并且通过设置属性构造的。如果有这方面的需求,需要再多加一个registerFactoryBean过程。
SentinelDataSourceRegistry.registerFactoryBean("custeom", CustomDataSourceFactoryBean.class);
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme.md b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme.md
index 53342683..06e189b9 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme.md
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/readme.md
@@ -66,7 +66,7 @@ Before we start the demo, let's learn how to connect Sentinel to a Spring Cloud
spring.application.name=sentinel-example
server.port=18083
- spring.cloud.sentinel.dashboard=localhost:8080
+ spring.cloud.sentinel.transport.dashboard=localhost:8080
2. Start the application in IDE or by building a fatjar.
@@ -177,7 +177,7 @@ If you want to define FileRefreshableDataSource:
spring.cloud.sentinel.datasource.recommendRefreshMs=2000
spring.cloud.sentinel.datasource.bufSize=2048
spring.cloud.sentinel.datasource.charset=utf-8
- spring.cloud.sentinel.datasource.configParser=myParser
+ spring.cloud.sentinel.datasource.converter=myParser
spring.cloud.sentinel.datasource.file=/Users/you/rule.json
then use `@SentinelDataSource` to annotate DataSource:
@@ -191,7 +191,7 @@ spring.cloud.sentinel.datasource.type means the type of DataSource.
spring.cloud.sentinel.datasource.recommendRefreshMs means the recommendRefreshMs property of specified DataSource.
-spring.cloud.sentinel.datasource.configParser means the name of spring bean that type is ConfigParser. If the bean is not exists, will throw exception.
+spring.cloud.sentinel.datasource.converter means the name of spring bean that type is Converter. If the bean is not exists, will throw exception.
Now datasource type support 4 categories: file, nacos, zk, apollo.
@@ -230,7 +230,7 @@ User-defined DataSource need 2 steps.
spring.cloud.sentinel.datasource.fieldA = valueA
spring.cloud.sentinel.datasource.fieldB = valueB
-Note: The AbstractDataSource of Sentinel need a ConfigParser as a constructor param and the subclass of AbstractDataSource was construct by multi-param constructor.
+Note: The AbstractDataSource of Sentinel need a Converter as a constructor param and the subclass of AbstractDataSource was construct by multi-param constructor.
Now All DataSources in starter was construct by FactoryBean. If you want to do it in this way, you should register FactoryBean by SentinelDataSourceRegistry.
SentinelDataSourceRegistry.registerFactoryBean("custeom", CustomDataSourceFactoryBean.class);
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/JsonFlowRuleListParser.java b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/JsonFlowRuleListParser.java
index 255eb789..b205c96c 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/JsonFlowRuleListParser.java
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/JsonFlowRuleListParser.java
@@ -2,7 +2,7 @@ package org.springframework.cloud.alibaba.cloud.examples;
import java.util.List;
-import com.alibaba.csp.sentinel.datasource.ConfigParser;
+import com.alibaba.csp.sentinel.datasource.Converter;
import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
@@ -10,9 +10,10 @@ import com.alibaba.fastjson.TypeReference;
/**
* @author fangjian
*/
-public class JsonFlowRuleListParser implements ConfigParser> {
+public class JsonFlowRuleListParser implements Converter> {
@Override
- public List parse(String source) {
- return JSON.parseObject(source, new TypeReference>() {});
+ public List convert(String source) {
+ return JSON.parseObject(source, new TypeReference>() {
+ });
}
}
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ServiceApplication.java b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ServiceApplication.java
index c9df5fc7..8ced5aff 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ServiceApplication.java
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/ServiceApplication.java
@@ -6,7 +6,7 @@ import org.springframework.cloud.alibaba.sentinel.annotation.SentinelProtect;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
-import com.alibaba.csp.sentinel.datasource.ConfigParser;
+import com.alibaba.csp.sentinel.datasource.Converter;
/**
* @author xiaojing
@@ -26,7 +26,7 @@ public class ServiceApplication {
}
@Bean
- public ConfigParser myParser() {
+ public Converter myParser() {
return new JsonFlowRuleListParser();
}
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties
index f8fa03ee..b8ef4539 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/application.properties
@@ -1,8 +1,8 @@
spring.application.name=sentinel-example
server.port=18083
management.security.enabled=false
-spring.cloud.sentinel.port=8721
-spring.cloud.sentinel.dashboard=localhost:8080
+spring.cloud.sentinel.transport.port=8721
+spring.cloud.sentinel.transport.dashboard=localhost:8080
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 a54dd6ba..b8f3dbff 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.BUILD-SNAPSHOT
+ 0.1.0
../../../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 3d55cec0..30a123bc 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.BUILD-SNAPSHOT
+ 0.1.0
../../../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 37df305a..54feb1b4 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.BUILD-SNAPSHOT
+ 0.1.0
../../../pom.xml
4.0.0
diff --git a/spring-cloud-alibaba-nacos-config/pom.xml b/spring-cloud-alibaba-nacos-config/pom.xml
index 0ffb286d..85a31d69 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.BUILD-SNAPSHOT
+ 0.1.0
4.0.0
diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/client/NacosPropertySourceBuilder.java b/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/client/NacosPropertySourceBuilder.java
index 5abddd80..fc070646 100644
--- a/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/client/NacosPropertySourceBuilder.java
+++ b/spring-cloud-alibaba-nacos-config/src/main/java/org/springframework/cloud/alibaba/nacos/client/NacosPropertySourceBuilder.java
@@ -28,6 +28,8 @@ import com.alibaba.nacos.api.exception.NacosException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
+import org.springframework.core.io.ByteArrayResource;
import org.springframework.util.StringUtils;
/**
@@ -83,11 +85,22 @@ public class NacosPropertySourceBuilder {
data = configService.getConfig(dataId, group, timeout);
// todo add file extension yaml support
if (!StringUtils.isEmpty(data)) {
- Properties properties = new Properties();
logger.info(String.format("Loading nacos data, dataId: '%s', group: '%s'",
dataId, group));
- properties.load(new StringReader(data));
- return properties;
+
+ if (fileExtension.equalsIgnoreCase("properties")) {
+ Properties properties = new Properties();
+
+ properties.load(new StringReader(data));
+ return properties;
+ }
+ else if (fileExtension.equalsIgnoreCase("yaml")
+ || fileExtension.equalsIgnoreCase("yml")) {
+ YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
+ yamlFactory.setResources(new ByteArrayResource(data.getBytes()));
+ return yamlFactory.getObject();
+ }
+
}
}
catch (NacosException e) {
diff --git a/spring-cloud-alibaba-nacos-discovery/pom.xml b/spring-cloud-alibaba-nacos-discovery/pom.xml
index ff061d2f..cee5c837 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.BUILD-SNAPSHOT
+ 0.1.0
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 78c7ddcc..6e087422 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 16d22540..bab4b1a2 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,13 +19,15 @@ 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 org.springframework.core.env.Environment;
-import java.net.URI;
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;
@@ -40,53 +42,38 @@ public class NacosDiscoveryClient implements DiscoveryClient {
public static final String DESCRIPTION = "Spring Cloud Nacos Discovery Client";
@Autowired
- private NacosRegistration nacosRegistration;
+ 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() {
- 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.selectInstances(serviceId, true);
+ List instances = namingService.getAllInstances(serviceId);
return hostToServiceInstanceList(instances, serviceId);
}
catch (Exception e) {
@@ -115,7 +102,9 @@ public class NacosDiscoveryClient implements DiscoveryClient {
List instances, String serviceId) {
List result = new ArrayList(instances.size());
for (Instance instance : instances) {
- result.add(hostToServiceInstance(instance, serviceId));
+ if (instance.isHealthy()) {
+ result.add(hostToServiceInstance(instance, serviceId));
+ }
}
return result;
}
@@ -124,7 +113,6 @@ public class NacosDiscoveryClient implements DiscoveryClient {
public List getServices() {
try {
- NamingService namingService = nacosRegistration.getNacosNamingService();
ListView services = namingService.getServicesOfServer(1,
Integer.MAX_VALUE);
return services.getData();
@@ -135,4 +123,7 @@ public class NacosDiscoveryClient implements DiscoveryClient {
}
}
+ public NamingService getNamingService() {
+ return namingService;
+ }
}
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 2563cbe6..05049f4b 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 43b6a5c7..aa9271a8 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
*/
@@ -333,4 +350,22 @@ public class NacosDiscoveryProperties {
}
}
+ public NamingService getNamingService() {
+ 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 {
+ return NacosFactory.createNamingService(properties);
+ }
+ 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 a68f6300..dfa1fbb6 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,8 +28,8 @@ 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;
-import org.springframework.cloud.alibaba.nacos.registry.NacosRegistration;
/**
* Endpoint for nacos discovery, get nacos properties and subscribed services
@@ -44,7 +44,7 @@ public class NacosDiscoveryEndpoint extends AbstractEndpoint