diff --git a/README-zh.md b/README-zh.md index 8e640a4b..ba208d1e 100644 --- a/README-zh.md +++ b/README-zh.md @@ -125,9 +125,9 @@ spring-cloud-alibaba@googlegroups.com,欢迎通过此邮件列表讨论与 spr ### 钉钉群 -![DingQR](https://img.alicdn.com/tfs/TB1zrRie4v1gK0jSZFFXXb0sXXa-7862-3570.png) +![DingQR](https://img.alicdn.com/tfs/TB1jXikzAL0gK0jSZFtXXXQCXXa-1002-323.png) -如图片有问题,访问 https://img.alicdn.com/tfs/TB1zrRie4v1gK0jSZFFXXb0sXXa-7862-3570.png +如图片有问题,访问 https://img.alicdn.com/tfs/TB1jXikzAL0gK0jSZFtXXXQCXXa-1002-323.png ## 社区相关开源 diff --git a/pom.xml b/pom.xml index ac929206..bd659bfb 100644 --- a/pom.xml +++ b/pom.xml @@ -106,8 +106,7 @@ spring-cloud-alibaba-dependencies spring-cloud-alibaba-examples spring-cloud-alibaba-docs - spring-cloud-starter-alibaba - spring-cloud-starter-alicloud + spring-cloud-alibaba-starters spring-cloud-alibaba-coverage diff --git a/spring-cloud-alibaba-coverage/pom.xml b/spring-cloud-alibaba-coverage/pom.xml index 2487908b..d05bf6ad 100644 --- a/spring-cloud-alibaba-coverage/pom.xml +++ b/spring-cloud-alibaba-coverage/pom.xml @@ -15,19 +15,70 @@ spring-cloud-alibaba-coverage Spring Cloud Alibaba Coverage - - 2.2.1.BUILD-SNAPSHOT - com.alibaba.cloud spring-cloud-alibaba-sentinel-datasource - ${spring.cloud.alibaba.version} + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + ${project.version} + + + + com.alibaba.cloud + spring-cloud-circuitbreaker-sentinel + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-seata + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + ${project.version} com.alibaba.cloud - spring-cloud-alicloud-context - ${spring.cloud.alibaba.version} + spring-cloud-starter-alibaba-nacos-config-server + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-stream-rocketmq + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-bus-rocketmq + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sidecar + ${project.version} + + + + com.alibaba.cloud + spring-cloud-starter-dubbo + ${project.version} diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index f0f0148a..7f28bdf2 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -38,62 +38,6 @@ - - - com.alibaba.cloud - alicloud-context - ${alicloud.context.version} - - - - com.aliyun - aliyun-java-sdk-edas - ${aliyun.sdk.edas.version} - - - com.aliyun - aliyun-java-sdk-core - - - - - - com.aliyun - aliyun-java-sdk-core - ${aliyun.sdk.version} - - - - com.alibaba.ans - ans-sdk - ${ans.version} - - - - com.alibaba.edas.acm - acm-sdk - ${acm.version} - - - - com.alibaba.edas - schedulerX-client - ${schedulerX.client.version} - - - - - com.aliyun.mns - aliyun-sdk-mns - ${aliyun.sdk.mns} - - - - com.aliyun - aliyun-java-sdk-dysmsapi - ${aliyun.java.sdk.dysmsapi} - - com.alibaba.nacos @@ -232,13 +176,6 @@ ${seata.version} - - - com.aliyun.oss - aliyun-sdk-oss - ${oss.version} - - com.alibaba.cloud @@ -251,12 +188,6 @@ ${project.version} - - com.alibaba.cloud - spring-cloud-alicloud-context - ${project.version} - - com.alibaba.cloud @@ -270,12 +201,6 @@ ${project.version} - - com.alibaba.cloud - spring-cloud-starter-alicloud-oss - ${project.version} - - com.alibaba.cloud spring-cloud-starter-alibaba-seata @@ -299,24 +224,6 @@ ${project.version} - - com.alibaba.cloud - spring-cloud-starter-alicloud-ans - ${project.version} - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-acm - ${project.version} - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-schedulerx - ${project.version} - - com.alibaba.cloud spring-cloud-starter-stream-rocketmq @@ -335,13 +242,6 @@ ${project.version} - - - com.alibaba.cloud - spring-cloud-starter-alicloud-sms - ${project.version} - - com.alibaba.cloud diff --git a/spring-cloud-alibaba-examples/acm-example/acm-local-example/pom.xml b/spring-cloud-alibaba-examples/acm-example/acm-local-example/pom.xml deleted file mode 100644 index 7d0760af..00000000 --- a/spring-cloud-alibaba-examples/acm-example/acm-local-example/pom.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - spring-cloud-alibaba-examples - com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT - ../../pom.xml - - 4.0.0 - acm-local-example - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-acm - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/acm-example/acm-local-example/readme-zh.md b/spring-cloud-alibaba-examples/acm-example/acm-local-example/readme-zh.md deleted file mode 100644 index f76577aa..00000000 --- a/spring-cloud-alibaba-examples/acm-example/acm-local-example/readme-zh.md +++ /dev/null @@ -1,46 +0,0 @@ -# ACM Local Example - -## 项目说明 - -本项目展示了,在Spring Cloud规范下,如何以最简单且免费的方式,使用ACM产品,将配置统一管理。 - -应用配置管理(Application Configuration Management,简称 ACM),其前身为淘宝内部配置中心 Diamond,是一款应用配置中心产品。基于该应用配置中心产品,您可以在微服务、DevOps、大数据等场景下极大地减轻配置管理的工作量的同时,保证配置的安全合规。更多 ACM 相关的信息,请参考 [ACM官网](https://www.aliyun.com/product/acm)。 - -## 示例 - -### 准备工作 - -ACM支持直接使用免费的轻量版配置中心,进行开发和调试工作。本示例也是基于轻量版配置中心的,因此我们需要首先安装和启动轻量版配置中心。 - -1. [下载轻量版配置中心](https://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/LCC/2018-11-01/edas-lite-configcenter.tar.gz?file=edas-lite-configcenter.tar.gz) - -2. 解压 edas-lite-configcenter.tar.gz ,然后执行以下命令。 - - cd edas-config-center && sh startup.sh - -出现以下内容说明轻量版配置中心启动成功。 - - Edas-config-center has been started successfully. - You can see more details in logs/config-center.log. - -3. 进入页面 http://127.0.0.1:8080,在左侧"配置列表"页面中,点击"添加"按钮,添加如下配置。 - - Group:DEFAULT_GROUP - DataId:acm-local.properties - Content:user.id=xiaolongzuo - -### 启动应用 - -直接运行main class,即`AcmApplication`。 - -### 查看效果 - -1. 使用`curl`可以看到在配置中心配置的user.id。 - - curl http://127.0.0.1:18089/ - -2. 进入页面 http://127.0.0.1:8080,在左侧"配置列表"页面中,更改user.id的值以后,再次使用`curl`命令,可以看到配置变化。 - - -如果您对 Spring Cloud ACM Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 - diff --git a/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/java/com/alibaba/cloud/examples/AcmApplication.java b/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/java/com/alibaba/cloud/examples/AcmApplication.java deleted file mode 100644 index aa79ec97..00000000 --- a/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/java/com/alibaba/cloud/examples/AcmApplication.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; - -/** - * @author xiaolongzuo - */ -@SpringBootApplication -@EnableDiscoveryClient -public class AcmApplication { - - public static void main(String[] args) { - SpringApplication.run(AcmApplication.class, args); - } - -} diff --git a/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/java/com/alibaba/cloud/examples/EchoController.java b/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/java/com/alibaba/cloud/examples/EchoController.java deleted file mode 100644 index 04bbc70c..00000000 --- a/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/java/com/alibaba/cloud/examples/EchoController.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xiaolongzuo - */ -@RestController -@RefreshScope -public class EchoController { - - private static final Logger LOGGER = LoggerFactory.getLogger(EchoController.class); - - @Value("${user.id}") - private String userId; - - @RequestMapping("/") - public String echo() { - LOGGER.info("User id is " + userId); - return userId; - } - -} diff --git a/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/resources/bootstrap.properties b/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/resources/bootstrap.properties deleted file mode 100644 index 7728d230..00000000 --- a/spring-cloud-alibaba-examples/acm-example/acm-local-example/src/main/resources/bootstrap.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.application.name=acm-local -server.port=18089 -spring.cloud.alicloud.acm.server-list=127.0.0.1 -spring.cloud.alicloud.acm.server-port=8080 -management.endpoints.web.exposure.include=* -management.endpoint.health.show-details=always diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/pom.xml b/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/pom.xml deleted file mode 100644 index 0242c805..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - spring-cloud-alibaba-examples - com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT - ../../pom.xml - - 4.0.0 - ans-consumer-feign-example - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-ans - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/readme-zh.md b/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/readme-zh.md deleted file mode 100644 index 4b8ad372..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/readme-zh.md +++ /dev/null @@ -1,25 +0,0 @@ -# ANS Consumer Feign Example - -## 项目说明 - -本项目展示了,在Spring Cloud规范下,如何以最简单且免费的方式,使用Feign客户端,调用一个服务。 - -## 示例 - -### 准备工作 - -ans-provider-example已经成功启动,并发布服务成功。 - -### 启动应用 - -直接运行main class,即`ConsumerApplication`。 - -### 查看效果 - -使用`curl`命令可以看到应用打印出相应的调用日志,命令如下。 - - curl http://127.0.0.1:18082/ - - -如果您对 Spring Cloud ANS Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 - diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java b/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java deleted file mode 100644 index 25fc0938..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.openfeign.EnableFeignClients; - -/** - * @author xiaolongzuo - */ -@SpringBootApplication -@EnableFeignClients(basePackages = { "com.alibaba.cloud.examples" }) -public class ConsumerApplication { - - public static void main(String[] args) { - SpringApplication.run(ConsumerApplication.class, args); - } - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/EchoService.java b/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/EchoService.java deleted file mode 100644 index 7662f6d9..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/EchoService.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; - -/** - * @author xiaolongzuo - */ -@FeignClient("ans-provider") -public interface EchoService { - - @RequestMapping(path = "echo/{str}") - String echo(@RequestParam("str") String param); - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/HomeController.java b/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/HomeController.java deleted file mode 100644 index 453b5dd8..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/java/com/alibaba/cloud/examples/HomeController.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xiaolongzuo - */ -@RestController -public class HomeController { - - private static final Logger LOGGER = LoggerFactory.getLogger(HomeController.class); - - @Autowired - private EchoService echoService; - - @GetMapping(value = "/", produces = "application/json") - public String home() { - LOGGER.info("-----------------consumer调用开始-----------------"); - String param = "Nice to meet you."; - LOGGER.info("消费者传递参数:" + param); - String result = echoService.echo(param); - LOGGER.info("收到提供者响应:" + result); - return param + "
" + result; - } - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/resources/application.properties deleted file mode 100644 index 19219e43..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-feign-example/src/main/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -spring.application.name=feign-consumer -server.port=18083 -# The following configuration can be omitted. -spring.cloud.alicloud.ans.server-list=127.0.0.1 -spring.cloud.alicloud.ans.server-port=8080 diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/pom.xml b/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/pom.xml deleted file mode 100644 index 75ecbdc5..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/pom.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - spring-cloud-alibaba-examples - com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT - ../../pom.xml - - 4.0.0 - ans-consumer-ribbon-example - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-ans - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/readme-zh.md b/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/readme-zh.md deleted file mode 100644 index b15eb89c..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/readme-zh.md +++ /dev/null @@ -1,25 +0,0 @@ -# ANS Consumer Ribbon Example - -## 项目说明 - -本项目展示了,在Spring Cloud规范下,如何以最简单且免费的方式,使用Ribbon客户端,调用一个服务。 - -## 示例 - -### 准备工作 - -ans-provider-example已经成功启动,并发布服务成功。 - -### 启动应用 - -直接运行main class,即`ConsumerApplication`。 - -### 查看效果 - -使用`curl`命令可以看到应用打印出相应的调用日志,命令如下。 - - curl http://127.0.0.1:18082/ - - -如果您对 Spring Cloud ANS Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 - diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java b/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java deleted file mode 100644 index e83ba611..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/java/com/alibaba/cloud/examples/ConsumerApplication.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.context.annotation.Bean; -import org.springframework.web.client.RestTemplate; - -/** - * @author xiaolongzuo - */ -@SpringBootApplication -@EnableDiscoveryClient -public class ConsumerApplication { - - @Bean - @LoadBalanced - public RestTemplate restTemplate() { - return new RestTemplate(); - } - - public static void main(String[] args) { - SpringApplication.run(ConsumerApplication.class, args); - } - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/java/com/alibaba/cloud/examples/HomeController.java b/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/java/com/alibaba/cloud/examples/HomeController.java deleted file mode 100644 index a93c023d..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/java/com/alibaba/cloud/examples/HomeController.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.client.RestTemplate; - -/** - * @author xiaolongzuo - */ -@RestController -public class HomeController { - - private static final Logger LOGGER = LoggerFactory.getLogger(HomeController.class); - - @Autowired - private RestTemplate restTemplate; - - @GetMapping(value = "/", produces = "application/json") - public String home() { - LOGGER.info("-----------------consumer调用开始-----------------"); - String param = "Nice to meet you."; - LOGGER.info("消费者传递参数:" + param); - String result = restTemplate.getForObject("http://ans-provider/echo/" + param, - String.class); - LOGGER.info("收到提供者响应:" + result); - return param + "
" + result; - } - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/resources/application.properties deleted file mode 100644 index a7063224..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-consumer-ribbon-example/src/main/resources/application.properties +++ /dev/null @@ -1,7 +0,0 @@ -spring.application.name=ribbon-consumer -server.port=18082 -# The following configuration can be omitted. -spring.cloud.alicloud.ans.server-list=127.0.0.1 -spring.cloud.alicloud.ans.server-port=8080 -management.endpoints.web.exposure.include=* -management.endpoint.health.show-details=always diff --git a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/pom.xml b/spring-cloud-alibaba-examples/ans-example/ans-provider-example/pom.xml deleted file mode 100644 index 92358702..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/pom.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - spring-cloud-alibaba-examples - com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT - ../../pom.xml - - 4.0.0 - ans-provider-example - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-ans - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/readme-zh.md b/spring-cloud-alibaba-examples/ans-example/ans-provider-example/readme-zh.md deleted file mode 100644 index 82b15874..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/readme-zh.md +++ /dev/null @@ -1,35 +0,0 @@ -# ANS Provider Example - -## 项目说明 - -本项目展示了,在Spring Cloud规范下,如何以最简单且免费的方式,发布一个服务。 - -## 示例 - -### 准备工作 - -ANS支持直接使用免费的轻量版配置中心,进行开发和调试工作。本示例也是基于轻量版配置中心的,因此我们需要首先安装和启动轻量版配置中心。 - -1. [下载轻量版配置中心](https://edas-public.oss-cn-hangzhou.aliyuncs.com/install_package/LCC/2018-11-01/edas-lite-configcenter.tar.gz?file=edas-lite-configcenter.tar.gz) - -2. 解压 edas-lite-configcenter.tar.gz ,然后执行以下命令。 - - cd edas-config-center && sh startup.sh - -出现以下内容说明轻量版配置中心启动成功。 - - Edas-config-center has been started successfully. - You can see more details in logs/config-center.log. - - -### 启动应用 - -直接运行main class,即`ProviderApplication`。 - -### 查看效果 - -进入页面 http://127.0.0.1:8080,在左侧"服务列表"页面中,可以看到一条名为`ans-provider`的服务。 - - -如果您对 Spring Cloud ANS Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 - diff --git a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/java/com/alibaba/cloud/examples/EchoController.java b/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/java/com/alibaba/cloud/examples/EchoController.java deleted file mode 100644 index 07744adf..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/java/com/alibaba/cloud/examples/EchoController.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xiaolongzuo - */ -@RestController -public class EchoController { - - private static final Logger LOGGER = LoggerFactory.getLogger(EchoController.class); - - @GetMapping(value = "/echo/{str}", produces = "application/json") - public String echo(@PathVariable String str) { - LOGGER.info("-----------收到消费者请求-----------"); - LOGGER.info("收到消费者传递的参数:" + str); - String result = "Nice to meet you, too."; - LOGGER.info("提供者返回结果:" + result); - return result; - } - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java b/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java deleted file mode 100644 index cba3781e..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; - -/** - * @author xiaolongzuo - */ -@SpringBootApplication -@EnableDiscoveryClient -public class ProviderApplication { - - public static void main(String[] args) { - SpringApplication.run(ProviderApplication.class, args); - } - -} diff --git a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/resources/application.properties deleted file mode 100644 index 92029764..00000000 --- a/spring-cloud-alibaba-examples/ans-example/ans-provider-example/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.application.name=ans-provider -server.port=18081 -spring.cloud.alicloud.ans.server-list=127.0.0.1 -spring.cloud.alicloud.ans.server-port=8080 -management.endpoints.web.exposure.include=* -management.endpoint.health.show-details=always diff --git a/spring-cloud-alibaba-examples/oss-example/pom.xml b/spring-cloud-alibaba-examples/oss-example/pom.xml deleted file mode 100644 index 1e20ba52..00000000 --- a/spring-cloud-alibaba-examples/oss-example/pom.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - com.alibaba.cloud - spring-cloud-alibaba-examples - 2.2.1.BUILD-SNAPSHOT - - 4.0.0 - - - oss-example - jar - Example demonstrating how to use alicloud oss - - - - - org.springframework.boot - spring-boot-starter-web - - - com.alibaba.cloud - spring-cloud-starter-alicloud-oss - - - - org.springframework.boot - spring-boot-starter-actuator - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-deploy-plugin - ${maven-deploy-plugin.version} - - true - - - - - - diff --git a/spring-cloud-alibaba-examples/oss-example/readme-zh.md b/spring-cloud-alibaba-examples/oss-example/readme-zh.md deleted file mode 100644 index 4385636f..00000000 --- a/spring-cloud-alibaba-examples/oss-example/readme-zh.md +++ /dev/null @@ -1,156 +0,0 @@ -# OSS Example - -## 项目说明 - -如果您的应用是 Spring Cloud 应用,且需要使用阿里云的 OSS 服务进行云端的文件存储,例如电商业务中常见的商品图片存储,那么您可以使用 OSS starter 完成 Spring Cloud 应用的对象存储。 - -阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。更多 OSS 相关的信息,请参考 [OSS官网](https://www.aliyun.com/product/oss)。 - -## 示例 - -### 接入 OSS -在启动示例进行演示之前,我们先了解一下如何接入 OSS。 - -**注意:本节只是为了便于您理解接入方式,本示例代码中已经完成接入工作,您只需修改 accessKey、secretKey、endpoint 即可。** - -1. 修改 pom.xml 文件,引入 alicloud-oss starter。 - - - com.alibaba.cloud - spring-cloud-starter-alicloud-oss - - -2. 在配置文件中配置 OSS 服务对应的 accessKey、secretKey 和 endpoint。 - - // application.properties - spring.cloud.alicloud.access-key=your-ak - spring.cloud.alicloud.secret-key=your-sk - spring.cloud.alicloud.oss.endpoint=*** - - 以阿里云 accessKey、secretKey 为例,获取方式如下。 - - i. 在阿里云控制台界面,单击右上角头像,选择 accesskeys,或者直接登录[用户信息管理界面](https://usercenter.console.aliyun.com/): - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535371973274-3ebec90a-ebde-4eb7-96ed-5372f6b32fe0.png) - - ii. 获取 accessKey、secretKey: - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535372168883-b94a3d77-3f81-4938-b409-611945a9e21c.png) - - **注意:**如果您使用了阿里云 [STS服务](https://help.aliyun.com/document_detail/28756.html) 进行短期访问权限管理,则除了 accessKey、secretKey、endpoint 以外,还需配置 securityToken。 - -3. 注入 OSSClient 并进行文件上传下载等操作。 - - @Service - public class YourService { - @Autowired - private OSSClient ossClient; - - public void saveFile() { - // download file to local - ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File("pathOfYourLocalFile")); - } - } - - **说明:**直接注入OSSClient 方式通常用于大量文件对象操作的场景。如果仅仅是需要读取文件对象内容,OSS Starter 也支持以 Resource 方式读取文件,详情请参考[下文](#1)。 - -### 启动应用 - - -1. 在应用的 /src/main/resources/application.properties 中添加基本配置信息和 OSS 配置。 - - spring.application.name=oss-example - server.port=18084 - spring.cloud.alicloud.access-key=your-ak - spring.cloud.alicloud.secret-key=your-sk - spring.cloud.alicloud.oss.endpoint=*** - -2. 通过 IDE 直接启动或者编译打包后启动应用。 - - - IDE直接启动:找到主类 `OSSApplication`,执行 main 方法启动应用。 - - 打包编译后启动: - 1. 执行 `mvn clean package` 将工程编译打包; - 2. 执行 `java -jar oss-example.jar`启动应用。 - -应用启动后会自动在 OSS 上创建一个名为 `spring-cloud-alibaba-test` 的 Bucket。 - -### 上传或下载文件 - -#### 上传文件 -使用 curl 调用上传接口 upload。该接口会上传 classpath 下的的 oss-test.json 文件。文件内容是一段 json: - - curl http://localhost:18084/upload - -显示结果: - - // 如果配置正确,则输出 - upload success - // 如果上传的过程中发生异常,则会输出 upload fail: fail reason。比如accessKeyId配置错误的时候,fail reason内容如下 - upload fail: The OSS Access Key Id you provided does not exist in our records. [ErrorCode]: InvalidAccessKeyId [RequestId]: RequestId [HostId]: xxx.oss-cn-beijing.aliyuncs.com [ResponseError]: InvalidAccessKeyId The OSS Access Key Id you provided does not exist in our records. RequestId xxx.oss-cn-beijing.aliyuncs.com xxx-accessKeyId - -#### 下载文件 -使用 curl 调用下载接口 download。该接口会下载刚才用 upload 接口上传的 oss-test.json 文件,并打印文件内容到结果中: - - curl http://localhost:18084/download - -显示结果: - - // 如果配置正确,则输出 - download success, content: { "name": "oss-test" } - // 下载的过程中如果发生异常,则会输出download fail: fail reason。比如accessKeyId配置错误,则fail reason内容如下 - download fail: The OSS Access Key Id you provided does not exist in our records. [ErrorCode]: InvalidAccessKeyId [RequestId]: RequestId [HostId]: xxx.oss-cn-beijing.aliyuncs.com [ResponseError]: InvalidAccessKeyId The OSS Access Key Id you provided does not exist in our records. RequestId sxxx.oss-cn-beijing.aliyuncs.com xxx-accessKeyId - - - -### 在 OSS 上验证结果 - -完成文件上传或者下载操作后,可以登录 OSS 控制台进行验证。 - -1. 登陆[OSS控制台](https://oss.console.aliyun.com/),可以看到左侧 Bucket 列表新增一个名字为`spring-cloud-alibaba-test`的 Bucket。 - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535369224513-387afdf9-6078-4a42-9f18-d9fe9926a9cd.png) - -2. 单击`spring-cloud-alibaba-test` Bucket,选择 `文件管理` 页签,发现上传的 oss-test 文件。上传的 objectName 为`oss-test.json`。目录和文件以'/'符号分割。 - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535615378605-df1381e9-c5ff-4da1-b3b3-ce9acfef313f.png) - - -## 查看 Endpoint 信息 - -Spring Boot 应用支持通过 Endpoint 来暴露相关信息,OSS Starter 也支持这一点。 - -**前提条件:** - -在 maven 中添加 `spring-boot-starter-actuator`依赖,并在配置中允许 Endpoints 的访问。 - -- Spring Boot1.x 中添加配置 `management.security.enabled=false` -- Spring Boot2.x 中添加配置 `management.endpoints.web.exposure.include=*` - -Spring Boot1.x 可以通过访问 http://127.0.0.1:18084/oss 来查看 OSS Endpoint 的信息。 - -Spring Boot2.x 可以通过访问 http://127.0.0.1:18084/actuator/oss 来访问。 - -Endpoint 内部会显示所有的 OSSClient 配置信息,以及该 OSSClient 对应的 Bucket 列表。 - -![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535373658171-20674565-6fe1-4e1e-a596-1dd6f4159ec3.png) - -

以 Resource 的形式读取文件

- -OSS Starter 支持以 Resource 的形式得到文件对象。如果只需读取少量文件,您可以使用这种方式。 - -**使用方法:** - -只需配置 OSS 协议对应的 Resource 即可: - - @Value("oss://spring-cloud-alibaba/oss-test") - private Resource file; - - // 文件内容的读取 - StreamUtils.copyToString(file.getInputStream(), Charset.forName(CharEncoding.UTF_8)) - -## 关闭 OSSClient 服务 -如果您不再需要 OSS 服务,您也无需手动关闭 OSSClient。在 ApplicationContext close 的时候,OSS Starter 会在 `OSSApplicationListener` 中调用所有 OSSClient 的 shutdown 方法。 - - -如果您对 Spring Cloud OSS Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 - diff --git a/spring-cloud-alibaba-examples/oss-example/readme.md b/spring-cloud-alibaba-examples/oss-example/readme.md deleted file mode 100644 index 76e7f899..00000000 --- a/spring-cloud-alibaba-examples/oss-example/readme.md +++ /dev/null @@ -1,150 +0,0 @@ -# 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. - -[Alibaba Cloud Object Storage Service (OSS)](https://www.alibabacloud.com/product/oss) is an encrypted, secure, cost-effective, and easy-to-use object storage service that enables you to store, back up, and archive large amounts of data in the cloud. - - -## Demo - -### Connect to OSS - -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 accessKey, secretKey and endpoint.** - -1. Add dependency spring-cloud-starter-alicloud-oss in the pom.xml file in your Spring Cloud project. - - - com.alibaba.cloud - spring-cloud-starter-alicloud-oss - - -2. Configure accessKeyId, secretAccessKey and region in application.properties. - - // application.properties - spring.cloud.alicloud.access-key=your-ak - spring.cloud.alicloud.secret-key=your-sk - spring.cloud.alicloud.oss.endpoint=*** - - To get accessKey, secretKey, follow these steps: - - 1. On the Alibaba Cloud console, click your avatar on the upper-right corner and click accesskeys. Or visit [User Management](https://usercenter.console.aliyun.com/) page directly: - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535464041257-5c7ae997-daff-45b3-89d4-02d578da4ac7.png) - - 2. Get your accessKey、secretKey: - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535464098793-517491f6-156b-4a98-a5a4-6113cb3c01a4.png) - - **Note:** If you are using [STS](https://www.alibabacloud.com/help/doc-detail/28756.html), you should configure securityToken in addition to accessKey, secretKey, and endpoint. - -3. Inject OSSClient and use it to upload files to the OSS server and download a file from OSS server. - - @Service - public class YourService { - @Autowired - private OSSClient ossClient; - - public void saveFile() { - // download file to local - ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File("pathOfYourLocalFile")); - } - } - -**Note:** Direct injection into the OSSClient mode is typically used for scenarios where you need to handle a large number of file objects. If you only need to read the contents of the file object, OSS Starter also supports reading the file in [Resource mode](#1). - -### Start Application - -1. Add necessary configurations to file `/src/main/resources/application.properties`. - - spring.application.name=oss-example - server.port=18084 - spring.cloud.alicloud.access-key=your-ak - spring.cloud.alicloud.secret-key=your-sk - spring.cloud.alicloud.oss.endpoint=*** - -2. Start the application in IDE or by building a fatjar. - - - Start in IDE: Find main class `OSSApplication`, and execute the main method. - - Build a fatjar: - 1. Execute command `mvn clean package` to build a fatjar. - 2. Run command `java -jar oss-example.jar` to start the application. - -After startup, a bucket called 'spring-cloud-alibaba-test' is automatically created in OSS. - -### Upload or download files - -#### Upload files -Run `curl` command to upload files. It will upload file 'oss-test.json' in the `classpath` directory. The content of this file is JSON string: - - curl http://localhost:18084/upload - -Results: - - // If configurations are correct, the output will be as follows - upload success - // If an error occurs during uploading, the output will be 'upload fail: fail reason'. For example, if accessKeyId is wrong,the output will be - upload fail: The OSS Access Key Id you provided does not exist in our records. [ErrorCode]: InvalidAccessKeyId [RequestId]: RequestId [HostId]: xxx.oss-cn-beijing.aliyuncs.com [ResponseError]: InvalidAccessKeyId The OSS Access Key Id you provided does not exist in our records. RequestId xxx.oss-cn-beijing.aliyuncs.com xxx-accessKeyId - -#### Download files -Use `curl` command to download files. It will download the oss-test.json file that you uploaded just now and print in result: - - curl http://localhost:18084/download - -Results: - - // If configurations are correct, the output will be as follows - download success, content: { "name": "oss-tes" } - // If an error occurs during downloading, the output will be 'download fail: fail reason'. For example, if accessKeyId is wrong,fail reason will be as follows - download fail: The OSS Access Key Id you provided does not exist in our records. [ErrorCode]: InvalidAccessKeyId [RequestId]: RequestId [HostId]: xxx.oss-cn-beijing.aliyuncs.com [ResponseError]: InvalidAccessKeyId The OSS Access Key Id you provided does not exist in our records. RequestId sxxx.oss-cn-beijing.aliyuncs.com xxx-accessKeyId - - -### Verify results on OSS - -You can verify results on the OSS console when you finish uploading or downloading files. -1. Log on to the [OSS console](https://oss.console.aliyun.com/),and you will find a bucket named `spring-cloud-alibaba-test`. - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535464204462-ccebb9e0-7233-499c-8dec-8b8348231b2b.png) - -2. Click the `spring-cloud-alibaba-test` bucket, select the Files tab, and you will find the oss-test.json file. The objectName of the file is 'oss-test.json'. File directory and file is separated by '/'. - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535618026281-613a338c-f89c-4c7b-8b04-d404d1320699.png) - - -## Endpoint - -OSS starter also supports the implementation of Spring Boot actuator endpoints. - -**Prerequisite:** - -Add denpendency `spring-boot-starter-actuator` to your pom.xml file, and configure your endpoint security stategy. - -- Spring Boot1.x: Add configuration `management.security.enabled=false` -- Spring Boot2.x: Add configuration `management.endpoints.web.exposure.include=*` - -To view the endpoint information, visit the following URLs: - -Spring Boot1.x: OSS Endpoint URL is http://127.0.0.1:18084/oss. - -Spring Boot2.x: OSS Endpoint URL is http://127.0.0.1:18084/actuator/oss. - -Endpoint will show the configurations and the list of buckets of all OSSClients. - -![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535373658171-20674565-6fe1-4e1e-a596-1dd6f4159ec3.png) - -

Read file using resource mode

- -OSS Starter supports getting file objects by `Spring Resource`. Simply configure OSS protocol of the resource: - - @Value("oss://spring-cloud-alibaba/oss-test") - private Resource file; - - // read file content - StreamUtils.copyToString(file.getInputStream(), Charset.forName(CharEncoding.UTF_8)) - -## Stop OSSClient service -You do not need to manually shut down OSSClient. OSS Starter calls all OSSClient shutdown methods in the `OSSApplicationListener` during ApplicationContext close. - -If you have any feedback or suggestions for Spring Cloud OSS Starter, please don't hesitate to tell us by submitting github issues or via other community channels. - diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssApplication.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssApplication.java deleted file mode 100644 index 678d7551..00000000 --- a/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssApplication.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import java.net.URISyntaxException; - -import com.aliyun.oss.OSS; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; - -/** - * OSS Application. - * - * @author Jim - */ -@SpringBootApplication -public class OssApplication { - - /** - * Bucket Name of OSS Example. - */ - public static final String BUCKET_NAME = "spring-cloud-alibaba-test"; - - public static void main(String[] args) throws URISyntaxException { - SpringApplication.run(OssApplication.class, args); - } - - @Bean - public AppRunner appRunner() { - return new AppRunner(); - } - - class AppRunner implements ApplicationRunner { - - @Autowired - private OSS ossClient; - - @Override - public void run(ApplicationArguments args) throws Exception { - try { - if (!ossClient.doesBucketExist(BUCKET_NAME)) { - ossClient.createBucket(BUCKET_NAME); - } - } - catch (Exception e) { - System.err.println("oss handle bucket error: " + e.getMessage()); - System.exit(-1); - } - } - - } - -} diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java deleted file mode 100644 index 9628f950..00000000 --- a/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import java.io.InputStream; -import java.io.OutputStream; -import java.nio.charset.Charset; - -import com.aliyun.oss.OSS; -import com.aliyun.oss.common.utils.IOUtils; -import com.aliyun.oss.model.OSSObject; -import org.apache.commons.codec.CharEncoding; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.Resource; -import org.springframework.core.io.WritableResource; -import org.springframework.util.StreamUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * OSS Controller. - * - * @author Jim - */ -@RestController -public class OssController { - - @Autowired - private OSS ossClient; - - @Value("classpath:/oss-test.json") - private Resource localFile; - - @Value("oss://" + OssApplication.BUCKET_NAME + "/oss-test.json") - private Resource remoteFile; - - @GetMapping("/upload") - public String upload() { - try { - ossClient.putObject(OssApplication.BUCKET_NAME, "oss-test.json", this - .getClass().getClassLoader().getResourceAsStream("oss-test.json")); - } - catch (Exception e) { - e.printStackTrace(); - return "upload fail: " + e.getMessage(); - } - return "upload success"; - } - - @GetMapping("/file-resource") - public String fileResource() { - try { - return "get file resource success. content: " + StreamUtils.copyToString( - remoteFile.getInputStream(), Charset.forName(CharEncoding.UTF_8)); - } - catch (Exception e) { - e.printStackTrace(); - return "get resource fail: " + e.getMessage(); - } - } - - @GetMapping("/download") - public String download() { - try { - OSSObject ossObject = ossClient.getObject(OssApplication.BUCKET_NAME, - "oss-test.json"); - return "download success, content: " + IOUtils - .readStreamAsString(ossObject.getObjectContent(), CharEncoding.UTF_8); - } - catch (Exception e) { - e.printStackTrace(); - return "download fail: " + e.getMessage(); - } - } - - @GetMapping("/upload2") - public String uploadWithOutputStream() { - try { - try (OutputStream outputStream = ((WritableResource) this.remoteFile) - .getOutputStream(); - InputStream inputStream = localFile.getInputStream()) { - StreamUtils.copy(inputStream, outputStream); - } - } - catch (Exception ex) { - ex.printStackTrace(); - return "upload with outputStream failed"; - } - return "upload success"; - } - -} diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/oss-example/src/main/resources/application.properties deleted file mode 100644 index 59c650d3..00000000 --- a/spring-cloud-alibaba-examples/oss-example/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.application.name=oss-example -server.port=18084 -spring.cloud.alicloud.access-key=AK -spring.cloud.alicloud.secret-key=SK -spring.cloud.alicloud.oss.endpoint=***.aliyuncs.com -management.endpoints.web.exposure.include=* diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/resources/oss-test.json b/spring-cloud-alibaba-examples/oss-example/src/main/resources/oss-test.json deleted file mode 100644 index 68682f46..00000000 --- a/spring-cloud-alibaba-examples/oss-example/src/main/resources/oss-test.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "oss-test" -} \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/pom.xml b/spring-cloud-alibaba-examples/pom.xml index 0de5fc3d..7187c96e 100644 --- a/spring-cloud-alibaba-examples/pom.xml +++ b/spring-cloud-alibaba-examples/pom.xml @@ -29,20 +29,13 @@ nacos-example/nacos-discovery-example nacos-example/nacos-config-example nacos-example/nacos-gateway-example - oss-example - ans-example/ans-consumer-feign-example - ans-example/ans-consumer-ribbon-example - ans-example/ans-provider-example seata-example/business-service seata-example/order-service seata-example/storage-service seata-example/account-service - acm-example/acm-local-example rocketmq-example/rocketmq-consume-example rocketmq-example/rocketmq-produce-example - sms-example spring-cloud-bus-rocketmq-example - schedulerx-example/schedulerx-simple-task-example spring-cloud-alibaba-dubbo-examples spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-nacos-example spring-cloud-alibaba-sidecar-examples/spring-cloud-alibaba-sidecar-consul-example diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/pom.xml b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/pom.xml deleted file mode 100644 index 406b3c47..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/pom.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - spring-cloud-alibaba-examples - com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT - ../../pom.xml - - 4.0.0 - schedulerx-simple-task-example - - - - com.alibaba.cloud - spring-cloud-starter-alicloud-schedulerx - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/readme-zh.md b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/readme-zh.md deleted file mode 100644 index 91b07a2e..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/readme-zh.md +++ /dev/null @@ -1,47 +0,0 @@ -# SchedulerX Simple Task Example - -## 项目说明 - -本项目展示了,在Spring Cloud体系中,如何快如接入SchedulerX,使用任务调度服务。 - -SchedulerX 是阿里中间件团队开发的一款分布式任务调度产品。它为您提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。 - -## 示例 - -### 准备工作 - -1. 请先[注册阿里云账号](https://account.aliyun.com/register/register.htm?spm=5176.8142029.388261.26.e9396d3eEIv28g&oauth_callback=https%3A%2F%2Fwww.aliyun.com%2F) - -2. SchedulerX集成到了EDAS组件中心,因此需要[开通EDAS服务](https://common-buy.aliyun.com/?spm=5176.11451019.0.0.6f5965c0Uq5tue&commodityCode=edaspostpay#/buy) - -3. 到[EDAS组件中心](https://edas.console.aliyun.com/#/edasTools)开通SchedulerX组件,即分布式任务管理。 - -4. 进入[SchedulerX分组管理](https://edas.console.aliyun.com/#/schedulerXGroup?regionNo=cn-test)页面,选择上方"测试"区域,点击右上角"新建分组",创建一个分组。 - -5. 将"分组ID"的值填写到`application.properties`文件中`key`为`spring.cloud.alicloud.scx.group-id`对应的value值,即如下所示。 - - spring.cloud.alicloud.scx.group-id=111-1-1-1111 - -6. 进入[SchedulerX任务列表](https://edas.console.aliyun.com/#/edasSchedulerXJob?regionNo=cn-test)页面,选择上方"测试"区域,点击右上角"新建Job",创建一个Job,即如下所示。 - - Job分组:测试——111-1-1-1111 - Job处理接口:SimpleTask - 类型:简单Job单机版 - 定时表达式:默认选项——0 * * * * ? - Job描述:无 - 自定义参数:无 - -### 启动应用 - -直接运行main class,即`ScxApplication`。 - -### 查看效果 - -观察应用的控制台日志输出,可以看到每一分钟会打印一次如下日志。 - -``` - -----------Hello world--------------- -``` - -如果您对 Spring Cloud SchedulerX Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 - diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/HelloController.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/HelloController.java deleted file mode 100644 index 106c23d0..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/HelloController.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xiaolongzuo - */ -@RestController -public class HelloController { - - @RequestMapping("/") - @ResponseBody - public String hello() { - return "OK"; - } - -} diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/ScxApplication.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/ScxApplication.java deleted file mode 100644 index eac0aed1..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/ScxApplication.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * @author xiaolongzuo - */ -@SpringBootApplication -public class ScxApplication { - - public static void main(String[] args) { - SpringApplication.run(ScxApplication.class, args); - } - -} diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/SimpleTask.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/SimpleTask.java deleted file mode 100644 index 720bb67c..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/SimpleTask.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import com.alibaba.edas.schedulerx.ProcessResult; -import com.alibaba.edas.schedulerx.ScxSimpleJobContext; -import com.alibaba.edas.schedulerx.ScxSimpleJobProcessor; - -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @author xiaolongzuo - */ -public class SimpleTask implements ScxSimpleJobProcessor { - - @Autowired - private TestService testService; - - @Override - public ProcessResult process(ScxSimpleJobContext context) { - testService.test(); - ProcessResult processResult = new ProcessResult(true); - return processResult; - } - -} diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/TestController.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/TestController.java deleted file mode 100644 index 7e9291ce..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/TestController.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import java.util.concurrent.atomic.AtomicInteger; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author xiaolongzuo - */ -@RestController -public class TestController { - - static AtomicInteger atomicInteger = new AtomicInteger(0); - - @RequestMapping("/test") - @ResponseBody - public String test() { - return String.valueOf(atomicInteger.get()); - } - -} diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/TestService.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/TestService.java deleted file mode 100644 index 78abd792..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/com/alibaba/cloud/examples/TestService.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.examples; - -import org.springframework.stereotype.Service; - -/** - * @author xiaolongzuo - */ -@Service -public class TestService { - - public void test() { - TestController.atomicInteger.incrementAndGet(); - } - -} diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/resources/application.properties deleted file mode 100644 index a995fa3f..00000000 --- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/resources/application.properties +++ /dev/null @@ -1,3 +0,0 @@ -server.port=18033 -spring.cloud.alicloud.scx.group-id=*** -spring.cloud.alicloud.edas.namespace=cn-test diff --git a/spring-cloud-alibaba-examples/sms-example/pom.xml b/spring-cloud-alibaba-examples/sms-example/pom.xml deleted file mode 100644 index 252f42a9..00000000 --- a/spring-cloud-alibaba-examples/sms-example/pom.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - 4.0.0 - - sms-example - jar - Example demonstrating how to use alicloud sms - - - spring-cloud-alibaba-examples - com.alibaba.cloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - - UTF-8 - UTF-8 - - - - - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-web - - - com.alibaba.cloud - spring-cloud-starter-alicloud-sms - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-deploy-plugin - ${maven-deploy-plugin.version} - - true - - - - - - - diff --git a/spring-cloud-alibaba-examples/sms-example/readme-zh.md b/spring-cloud-alibaba-examples/sms-example/readme-zh.md deleted file mode 100644 index 69076551..00000000 --- a/spring-cloud-alibaba-examples/sms-example/readme-zh.md +++ /dev/null @@ -1,314 +0,0 @@ -# SMS Example - -## 项目说明 - -如果您的应用是 Spring Cloud/Boot 应用,且需要使用阿里云的 SMS 服务来发送短信,例如登录验证码,那么您可以使用 SMS starter 完成 Spring Cloud/Boot 应用的短信发送。 - -短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。支持国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。更多可参考 [官网文档](https://help.aliyun.com/document_detail/60704.html?spm=5176.8195934.1283918.6.18924183bHPct2) - -## 示例 - -### 接入 SMS - -在启动示例进行演示之前,我们先了解一下如何接入 SMS。 - -**注意:本节只是为了便于您理解接入方式,本示例代码中已经完成接入工作,您只需修改 accessKey、secretKey 即可。** - -1. 修改 pom.xml 文件,引入 alicloud-sms starter。 - - ```xml - - com.alibaba.cloud - spring-cloud-starter-alicloud-sms - - ``` - -1. 在配置文件中配置 SMS 服务对应的 accessKey、secretKey 。 - - ```properties - spring.cloud.alicloud.access-key=your-ak - spring.cloud.alicloud.secret-key=your-sk - ``` - - 以阿里云 accessKey、secretKey 为例,获取方式如下。 - - i. 在阿里云控制台界面,单击右上角头像,选择 accesskeys,或者直接登录[用户信息管理界面](https://usercenter.console.aliyun.com/): - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535371973274-3ebec90a-ebde-4eb7-96ed-5372f6b32fe0.png) - - ii. 获取 accessKey、secretKey: - - ![undefined](https://cdn.nlark.com/lark/0/2018/png/64647/1535372168883-b94a3d77-3f81-4938-b409-611945a9e21c.png) - - **注意:**如果您使用了阿里云 [STS服务](https://help.aliyun.com/document_detail/28756.html) 进行短期访问权限管理,则除了 accessKey、secretKey 以外,还需配置 securityToken。 - -1. 注入 ISmsService 实例并进行短信发送等操作。 - - ```java - @RestController - public class SmsController { - @Autowired - private ISmsService smsService ; - - @RequestMapping("/send.do") - public SendSmsResponse sendMessage(String telphone,String code) { - // 组装请求对象-具体描述见控制台-文档部分内容 - SendSmsRequest request = new SendSmsRequest(); - // 必填:待发送手机号 - request.setPhoneNumbers(telphone); - // 必填:短信签名-可在短信控制台中找到 - request.setSignName("******"); - // 必填:短信模板-可在短信控制台中找到 - request.setTemplateCode("******"); - // 可选:模板中的变量替换JSON串,如模板内容为"【企业级分布式应用服务】,您的验证码为${code}"时,此处的值为 - request.setTemplateParam("{\"code\":\"" + code + "\"}"); - SendSmsResponse sendSmsResponse ; - try { - sendSmsResponse = smsService.sendSmsRequest(request); - } - catch (ClientException e) { - e.printStackTrace(); - sendSmsResponse = new SendSmsResponse(); - } - return sendSmsResponse ; - } - } - ``` - - **说明:** 直接注入 ISmsService 方式即可。 - -### 启动应用 - - -1. 在应用的 /src/main/resources/application.properties 中添加基本配置信息。 - - ```properties - spring.application.name=sms-example - server.port=18084 - spring.cloud.alicloud.access-key=your-ak - spring.cloud.alicloud.secret-key=your-sk - ``` - -2. 通过 IDE 直接启动或者编译打包后启动应用。 - - - IDE直接启动:找到主类 `SMSApplication`,执行 main 方法启动应用。 - - 打包编译后启动: - 1. 执行 `mvn clean package` 将工程编译打包; - 2. 执行 `java -jar sms-example.jar`启动应用。 - -应用启动后访问 http://localhost:18084/send.do?telphone=******&code=6580。 查看返回的 SendSmsResponse 的 json 串结果。 - - -### 批量短信发送 - -参考以下的 Example ,来快速开发一个具有批量短信发送的功能。在 Controller 中或者新建一个 Controler 新增如下代码: - - -```java -@RequestMapping("/batch-sms-send.do") -public SendBatchSmsResponse batchsendCheckCode( - @RequestParam(name = "code") String code) { - // 组装请求对象 - SendBatchSmsRequest request = new SendBatchSmsRequest(); - // 使用 GET 提交 - request.setMethod(MethodType.GET); - // 必填:待发送手机号。支持JSON格式的批量调用,批量上限为100个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 - request.setPhoneNumberJson("[\"177********\",\"130********\"]"); - // 必填:短信签名-支持不同的号码发送不同的短信签名 - request.setSignNameJson("[\"*******\",\"*******\"]"); - // 必填:短信模板-可在短信控制台中找到 - request.setTemplateCode("******"); - // 必填:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 - // 友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 - request.setTemplateParamJson( - "[{\"code\":\"" + code + "\"},{\"code\":\"" + code + "\"}]"); - SendBatchSmsResponse sendSmsResponse ; - try { - sendSmsResponse = smsService - .sendSmsBatchRequest(request); - return sendSmsResponse; - } - catch (ClientException e) { - e.printStackTrace(); - sendSmsResponse = new SendBatchSmsResponse(); - } - return sendSmsResponse ; -} -``` - -### 短信查询 - -参考以下的 Example ,可以快速开发根据某个指定的号码查询短信历史发送状态。在 Controller 中或者新建一个 Controler 新增如下代码: - -```java -/** - * - * 短信查询 Example - * @param telephone - * @return - */ -@RequestMapping("/query.do") -public QuerySendDetailsResponse querySendDetailsResponse( - @RequestParam(name = "tel") String telephone) { - // 组装请求对象 - QuerySendDetailsRequest request = new QuerySendDetailsRequest(); - // 必填-号码 - request.setPhoneNumber(telephone); - // 必填-短信发送的日期 支持30天内记录查询(可查其中一天的发送数据),格式yyyyMMdd - request.setSendDate("20190103"); - // 必填-页大小 - request.setPageSize(10L); - // 必填-当前页码从1开始计数 - request.setCurrentPage(1L); - try { - QuerySendDetailsResponse response = smsService.querySendDetails(request); - return response; - } - catch (ClientException e) { - e.printStackTrace(); - } - - return new QuerySendDetailsResponse(); -} - -``` - -查询成功后的返回结果如下所示: - - ```plain - { - "requestId": "0030EE65-25B1-43EE-BA90-D8FDACC45DC7", - "code": "OK", - "message": "OK", - "totalCount": "3", - "smsSendDetailDTOs": [ - { - "phoneNum": "152********", - "sendStatus": 3, - "errCode": "DELIVRD", - "templateCode": "SMS_******", - "content": "【企业级分布式应用服务】验证码为:1080,您正在注册成为平台会员,感谢您的支持!", - "sendDate": "2019-01-03 22:09:09", - "receiveDate": "2019-01-03 22:09:21", - "outId": "edasTraceId" - }, - { - "phoneNum": "152********", - "sendStatus": 3, - "errCode": "DELIVRD", - "templateCode": "SMS_******", - "content": "【企业级分布式应用服务】验证码为:1865,您正在注册成为平台会员,感谢您的支持!", - "sendDate": "2019-01-03 21:13:30", - "receiveDate": "2019-01-03 21:13:37", - "outId": "edasTraceId" - }, - { - "phoneNum": "152********", - "sendStatus": 3, - "errCode": "DELIVRD", - "templateCode": "SMS_*******", - "content": "【企业级分布式应用服务】验证码为:9787,您正在注册成为平台会员,感谢您的支持!", - "sendDate": "2019-01-03 17:19:11", - "receiveDate": "2019-01-03 17:19:15", - "outId": "edasTraceId" - } - ] - } - ``` - -### 短信回执消息 - -通过订阅 SmsReport 短信状态报告,可以获知每条短信的发送情况,了解短信是否达到终端用户的状态与相关信息。这些工作已经都被 Spring Cloud AliCloud SMS 封装在内部了。你只需要完成以下两步即可。 - -1. 在 **application.properties** 配置文件中(也可以是 application.yaml)配置 SmsReport 的队列名称。 - - ```properties - spring.cloud.alicloud.sms.report-queue-name=Alicom-Queue-********-SmsReport - ``` - -2. 实现 SmsReportMessageListener 接口,并初始化一个 Spring Bean . - - ```java - /** - * 如果需要监听短信是否被对方成功接收,只需实现这个接口并初始化一个 Spring Bean 即可。 - */ - @Component - public class SmsReportMessageListener - implements SmsReportMessageListener { - - @Override - public boolean dealMessage(Message message) { - // 在这里添加你的处理逻辑 - - //do something - - System.err.println(this.getClass().getName() + "; " + message.toString()); - return true; - } - } - ``` - -发送状态的回执消息如下所示: - -```plain -SmsReportMessageListener; MessageID:9F3CFCE6BB3B2C8F-2-1682D84D9AD-20000000A,MessageMD5:C6AFEE0EE560BBC3380252337AC36985,RequestID:5C349CCEB8C115CCF344A3EB,MessageBody:"{"send_time":"2019-01-08 20:51:40","report_time":"2019-01-08 20:51:47","success":true,"err_msg":"用户接收成功","err_code":"DELIVERED","phone_number":"152********","sms_size":"1","biz_id":"667618746951900475^0","out_id":"edasTraceId"}",ReceiptHandle:"1-ODU4OTkzNDYwMi0xNTQ2OTUxOTM3LTItOA==",DequeueCount:"1",EnqueueTime:"Tue Jan 08 20:51:47 CST 2019",FirstDequeueTime:"Tue Jan 08 20:51:47 CST 2019",NextVisibleTime:"Tue Jan 08 20:52:17 CST 2019",Priority:"8" -``` - -### 上行短信消息 - - -通过订阅SmsUp上行短信消息,可以获知终端用户回复短信的内容。这些工作也已经被 Spring Cloud AliCloud SMS 封装好了。你只需要完成以下两步即可。 - -1. 在 **application.properties** 配置文件中(也可以是 application.yaml)配置 SmsReport 的队列名称。 - - ```properties - spring.cloud.alicloud.sms.up-queue-name=Alicom-Queue-********-SmsUp - ``` - -1. 实现 SmsUpMessageListener 接口,并初始化一个 Spring Bean 。 - - ```java - /** - * 如果发送的短信需要接收对方回复的状态消息,只需实现该接口并初始化一个 Spring Bean 即可。 - */ - @Component - public class SmsUpMessageListener - implements SmsUpMessageListener { - - @Override - public boolean dealMessage(Message message) { - // 在这里添加你的处理逻辑 - - //do something - - System.err.println(this.getClass().getName() + "; " + message.toString()); - return true; - } - } - ``` - -短信成功恢复后,上行短信消息 SmsUpMessageListener 回调后的信息如下所示: - -```plain -SmsUpMessageListener; MessageID:BF030215BA85BB41-1-1682D85425F-400000003,MessageMD5:D1AF5C2D7410EF190532CBF8E17FE2B7,RequestID:5C349CEE36AF628D2A847D50,MessageBody:"{"dest_code":"2493559","send_time":"2019-01-08 20:52:14","sign_name":"【企业级分布式应用服务】","sequence_id":568585703,"phone_number":"152********","content":"5279"}",ReceiptHandle:"1-MTcxNzk4NjkxODctMTU0Njk1MTk2NC0xLTg=",DequeueCount:"1",EnqueueTime:"Tue Jan 08 20:52:14 CST 2019",FirstDequeueTime:"Tue Jan 08 20:52:14 CST 2019",NextVisibleTime:"Tue Jan 08 20:52:44 CST 2019",Priority:"8" -``` - -## 查看 Endpoint 信息 - -Spring Boot 应用支持通过 Endpoint 来暴露相关信息,SMS Starter 也支持这一点。 - -**前提条件:** - -在 maven 中添加 `spring-boot-starter-actuator`依赖,并在配置中允许 Endpoints 的访问。 - -- Spring Boot1.x 中添加配置 `management.security.enabled=false` -- Spring Boot2.x 中添加配置 `management.endpoints.web.exposure.include=*` - -Spring Boot1.x 可以通过访问 http://127.0.0.1:18084/sms-info 来查看 SMS Endpoint 的信息。 - -Spring Boot2.x 可以通过访问 http://127.0.0.1:18084/actuator/sms-info 来访问。 - -Endpoint 内部会显示最近 20 条单个短信发送的记录和批量短信发送的记录,以及当前短信消息的配置信息(包括是**SmsReport** 还是 **SmsUp**,**队列名称**,以及对应的 **MessageListener** )。 - - -如果您对 Spring Cloud SMS Starter 有任何建议或想法,欢迎提交 issue 中或者通过其他社区渠道向我们反馈。 diff --git a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsApplication.java b/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsApplication.java deleted file mode 100644 index 16edf32e..00000000 --- a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsApplication.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.example; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * - */ -@SpringBootApplication -public class SmsApplication { - - public static void main(String[] args) throws Exception { - SpringApplication.run(SmsApplication.class, args); - } - -} diff --git a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsController.java b/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsController.java deleted file mode 100644 index 9a5556fe..00000000 --- a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsController.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.example; - -import java.util.List; - -import com.alibaba.alicloud.sms.ISmsService; -import com.aliyun.mns.model.Message; -import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse; -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsResponse; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.http.MethodType; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.env.Environment; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class SmsController { - - @Autowired - private Environment environment; - - @Autowired - private ISmsService smsService; - - @Autowired - private SmsReportMessageListener smsReportMessageListener; - - @GetMapping("/report-queue.do") - public String getSmsReportQueuename() { - - return environment.getProperty("spring.cloud.alicloud.sms.up-queue-name"); - } - - @RequestMapping("/batch-sms-send.do") - public SendBatchSmsResponse batchsendCheckCode( - @RequestParam(name = "code") String code) { - // 组装请求对象 - SendBatchSmsRequest request = new SendBatchSmsRequest(); - // 使用post提交 - request.setMethod(MethodType.GET); - // 必填:待发送手机号。支持JSON格式的批量调用,批量上限为100个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 - request.setPhoneNumberJson("[\"177********\",\"130********\"]"); - // 必填:短信签名-支持不同的号码发送不同的短信签名 - request.setSignNameJson("[\"*******\",\"*******\"]"); - // 必填:短信模板-可在短信控制台中找到 - request.setTemplateCode("******"); - // 必填:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 - // 友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败 - request.setTemplateParamJson( - "[{\"code\":\"" + code + "\"},{\"code\":\"" + code + "\"}]"); - // 可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段) - // request.setSmsUpExtendCodeJson("[\"90997\",\"90998\"]"); - try { - SendBatchSmsResponse sendSmsResponse = smsService - .sendSmsBatchRequest(request); - return sendSmsResponse; - } - catch (ClientException e) { - e.printStackTrace(); - } - return new SendBatchSmsResponse(); - } - - @RequestMapping("/sms-send.do") - public SendSmsResponse sendCheckCode(@RequestParam(name = "code") String code) { - // 组装请求对象-具体描述见控制台-文档部分内容 - SendSmsRequest request = new SendSmsRequest(); - // 必填:待发送手机号 - request.setPhoneNumbers("******"); - // 必填:短信签名-可在短信控制台中找到 - request.setSignName("******"); - // 必填:短信模板-可在短信控制台中找到 - request.setTemplateCode("******"); - // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 - request.setTemplateParam("{\"code\":\"" + code + "\"}"); - - // 选填-上行短信扩展码(无特殊需求用户请忽略此字段) - // request.setSmsUpExtendCode("90997"); - - // 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 - request.setOutId("****TraceId"); - try { - SendSmsResponse sendSmsResponse = smsService.sendSmsRequest(request); - return sendSmsResponse; - } - catch (ClientException e) { - e.printStackTrace(); - } - return new SendSmsResponse(); - } - - @RequestMapping("/query.do") - public QuerySendDetailsResponse querySendDetailsResponse( - @RequestParam(name = "tel") String telephone) { - // 组装请求对象 - QuerySendDetailsRequest request = new QuerySendDetailsRequest(); - // 必填-号码 - request.setPhoneNumber(telephone); - // 必填-短信发送的日期 支持30天内记录查询(可查其中一天的发送数据),格式yyyyMMdd - request.setSendDate("20190103"); - // 必填-页大小 - request.setPageSize(10L); - // 必填-当前页码从1开始计数 - request.setCurrentPage(1L); - try { - QuerySendDetailsResponse response = smsService.querySendDetails(request); - return response; - } - catch (ClientException e) { - e.printStackTrace(); - } - - return new QuerySendDetailsResponse(); - } - - @RequestMapping("/sms-report.do") - public List smsReport() { - - return smsReportMessageListener.getSmsReportMessageSet(); - } - -} diff --git a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsReportMessageListener.java b/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsReportMessageListener.java deleted file mode 100644 index d98554fc..00000000 --- a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsReportMessageListener.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.example; - -import java.util.LinkedList; -import java.util.List; - -import com.aliyun.mns.model.Message; - -import org.springframework.stereotype.Component; - -/** - * @author 如果需要监听短信是否被对方成功接收,只需实现这个接口并初始化一个 Spring Bean 即可。 - */ -@Component -public class SmsReportMessageListener - implements com.alibaba.alicloud.sms.SmsReportMessageListener { - - private List smsReportMessageSet = new LinkedList<>(); - - @Override - public boolean dealMessage(Message message) { - smsReportMessageSet.add(message); - System.err.println(this.getClass().getName() + "; " + message.toString()); - return true; - } - - public List getSmsReportMessageSet() { - - return smsReportMessageSet; - } - -} diff --git a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsUpMessageListener.java b/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsUpMessageListener.java deleted file mode 100644 index e6cef040..00000000 --- a/spring-cloud-alibaba-examples/sms-example/src/main/java/com/alibaba/cloud/example/SmsUpMessageListener.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.example; - -import com.aliyun.mns.model.Message; - -import org.springframework.stereotype.Component; - -/** - * @author 如果发送的短信需要接收对方回复的状态消息,只需实现该接口并初始化一个 Spring Bean 即可。 - */ -@Component -public class SmsUpMessageListener - implements com.alibaba.alicloud.sms.SmsUpMessageListener { - - @Override - public boolean dealMessage(Message message) { - System.err.println(this.getClass().getName() + "; " + message.toString()); - return true; - } - -} diff --git a/spring-cloud-alibaba-examples/sms-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/sms-example/src/main/resources/application.properties deleted file mode 100644 index c5e23fc8..00000000 --- a/spring-cloud-alibaba-examples/sms-example/src/main/resources/application.properties +++ /dev/null @@ -1,9 +0,0 @@ -spring.application.name=sca-sms-example -server.port=9051 -# config sms -spring.cloud.alicloud.access-key=***** -spring.cloud.alicloud.secret-key=****** -spring.cloud.alicloud.sms.report-queue-name=***** -spring.cloud.alicloud.sms.up-queue-name=***** -#config endpoint -management.endpoints.web.exposure.include=* diff --git a/spring-cloud-starter-alibaba/pom.xml b/spring-cloud-alibaba-starters/pom.xml similarity index 97% rename from spring-cloud-starter-alibaba/pom.xml rename to spring-cloud-alibaba-starters/pom.xml index 0838d8b1..366eeaec 100644 --- a/spring-cloud-starter-alibaba/pom.xml +++ b/spring-cloud-alibaba-starters/pom.xml @@ -9,7 +9,7 @@ ../pom.xml - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters pom Spring Cloud Alibaba Starters Spring Cloud Alibaba Starters diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml similarity index 98% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml index dbfc47fb..794dde46 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/RuleType.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/RuleType.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/RuleType.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/RuleType.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/AbstractDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/AbstractDataSourceProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/AbstractDataSourceProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/AbstractDataSourceProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ApolloDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ApolloDataSourceProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ApolloDataSourceProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ApolloDataSourceProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/DataSourcePropertiesConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/FileDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/FileDataSourceProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/FileDataSourceProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/FileDataSourceProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/NacosDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/NacosDataSourceProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/NacosDataSourceProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/NacosDataSourceProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/RedisDataSourceProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ZookeeperDataSourceProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ZookeeperDataSourceProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ZookeeperDataSourceProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/config/ZookeeperDataSourceProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/JsonConverter.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/JsonConverter.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/JsonConverter.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/JsonConverter.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/SentinelConverter.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/SentinelConverter.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/SentinelConverter.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/SentinelConverter.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/XmlConverter.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/XmlConverter.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/XmlConverter.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/converter/XmlConverter.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ApolloDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ApolloDataSourceFactoryBean.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ApolloDataSourceFactoryBean.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ApolloDataSourceFactoryBean.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/FileRefreshableDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/FileRefreshableDataSourceFactoryBean.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/FileRefreshableDataSourceFactoryBean.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/FileRefreshableDataSourceFactoryBean.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/RedisDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/RedisDataSourceFactoryBean.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/RedisDataSourceFactoryBean.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/RedisDataSourceFactoryBean.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ZookeeperDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ZookeeperDataSourceFactoryBean.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ZookeeperDataSourceFactoryBean.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/ZookeeperDataSourceFactoryBean.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/resources/META-INF/sentinel-datasource.properties diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ApolloDataSourceFactoryBeanTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ApolloDataSourceFactoryBeanTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ApolloDataSourceFactoryBeanTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ApolloDataSourceFactoryBeanTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/DataSourcePropertiesTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/DataSourcePropertiesTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/DataSourcePropertiesTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/DataSourcePropertiesTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/FileRefreshableDataSourceFactoryBeanTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/FileRefreshableDataSourceFactoryBeanTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/FileRefreshableDataSourceFactoryBeanTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/FileRefreshableDataSourceFactoryBeanTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourceFactoryBeanTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourceFactoryBeanTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourceFactoryBeanTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourceFactoryBeanTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourcePropertiesTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourcePropertiesTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourcePropertiesTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/NacosDataSourcePropertiesTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/RuleTypeTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/RuleTypeTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/RuleTypeTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/RuleTypeTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/SentinelConverterTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/SentinelConverterTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/SentinelConverterTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/SentinelConverterTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ZookeeperDataSourceFactoryBeanTests.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ZookeeperDataSourceFactoryBeanTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ZookeeperDataSourceFactoryBeanTests.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/java/com/alibaba/cloud/sentinel/datasource/ZookeeperDataSourceFactoryBeanTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorcontent.json b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorcontent.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorcontent.json rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorcontent.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorformat.json b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorformat.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorformat.json rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule-errorformat.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.json b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.json rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.xml b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.xml similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.xml rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/test/resources/flowrule.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/README.md b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/README.md similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/README.md rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/README.md diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml similarity index 97% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml index 5cd73a06..3b5b879b 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/ConfigConstants.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/ConfigConstants.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/ConfigConstants.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/ConfigConstants.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/FallbackProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/FallbackProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/FallbackProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/FallbackProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/GatewayEnvironmentPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/GatewayEnvironmentPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/GatewayEnvironmentPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/GatewayEnvironmentPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/SentinelGatewayAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/SentinelGatewayAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/SentinelGatewayAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/SentinelGatewayAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelGatewayProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelGatewayProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelGatewayProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelGatewayProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelSCGAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelSCGAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelSCGAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/scg/SentinelSCGAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/FallBackProviderHandler.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/FallBackProviderHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/FallBackProviderHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/FallBackProviderHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulProperties.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/java/com/alibaba/cloud/sentinel/gateway/zuul/SentinelZuulProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-alibaba-sentinel-gateway/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-gateway/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml similarity index 97% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml index dde7426e..219cbbd7 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreaker.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreaker.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreaker.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreaker.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerFactory.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerFactory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerFactory.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerFactory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreaker.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreaker.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreaker.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreaker.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerFactory.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerFactory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerFactory.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerFactory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelConfigBuilder.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelConfigBuilder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelConfigBuilder.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelConfigBuilder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerIntegrationTest.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerIntegrationTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerIntegrationTest.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerIntegrationTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerTest.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerTest.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/ReactiveSentinelCircuitBreakerTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerIntegrationTest.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerIntegrationTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerIntegrationTest.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerIntegrationTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerTest.java b/spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerTest.java rename to spring-cloud-alibaba-starters/spring-cloud-circuitbreaker-sentinel/src/test/java/com/alibaba/cloud/circuitbreaker/sentinel/SentinelCircuitBreakerTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml similarity index 97% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml index f7307b88..1b0e8a4b 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/NacosConfigServerAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/NacosConfigServerAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/NacosConfigServerAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/NacosConfigServerAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/environment/NacosEnvironmentRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/environment/NacosEnvironmentRepository.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/environment/NacosEnvironmentRepository.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/main/java/com/alibaba/cloud/nacos/config/server/environment/NacosEnvironmentRepository.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/test/java/com/alibaba/cloud/nacos/config/server/bootstrap/NacosConfigServerBootstrap.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/test/java/com/alibaba/cloud/nacos/config/server/bootstrap/NacosConfigServerBootstrap.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/test/java/com/alibaba/cloud/nacos/config/server/bootstrap/NacosConfigServerBootstrap.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/test/java/com/alibaba/cloud/nacos/config/server/bootstrap/NacosConfigServerBootstrap.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/test/resources/application.properties b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/test/resources/application.properties similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/src/test/resources/application.properties rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config-server/src/test/resources/application.properties diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml similarity index 98% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml index c2bc738c..0c555f91 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigBootstrapConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosPropertySourceRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosPropertySourceRepository.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosPropertySourceRepository.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosPropertySourceRepository.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySource.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySource.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySource.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySource.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceBuilder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceBuilder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceBuilder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceBuilder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/client/NacosPropertySourceLocator.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpoint.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpoint.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpoint.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpoint.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java similarity index 93% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java index 9adf90e4..42908218 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java @@ -21,6 +21,7 @@ import com.alibaba.cloud.nacos.refresh.NacosRefreshHistory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -52,7 +53,7 @@ public class NacosConfigEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - @ConditionalOnProperty(name = "spring.cloud.nacos.config.health.enabled", matchIfMissing = true) + @ConditionalOnEnabledHealthIndicator("nacos-config") public NacosConfigHealthIndicator nacosConfigHealthIndicator() { return new NacosConfigHealthIndicator(nacosConfigManager.getConfigService()); } diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigHealthIndicator.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigHealthIndicator.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigHealthIndicator.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigHealthIndicator.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/AbstractNacosDataParser.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/AbstractNacosDataParser.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/AbstractNacosDataParser.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/AbstractNacosDataParser.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataJsonParser.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataJsonParser.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataJsonParser.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataJsonParser.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataParserHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataParserHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataParserHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataParserHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataPropertiesParser.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataPropertiesParser.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataPropertiesParser.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataPropertiesParser.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataXmlParser.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataXmlParser.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataXmlParser.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataXmlParser.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataYamlParser.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataYamlParser.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataYamlParser.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/parser/NacosDataYamlParser.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosContextRefresher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosContextRefresher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosContextRefresher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosContextRefresher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshHistory.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshHistory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshHistory.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshHistory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosRefreshProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 94% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 1b63cf27..f6f3fe41 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -55,12 +55,6 @@ "type": "java.util.List", "description": "a set of extensional configurations .e.g: spring.cloud.nacos.config.extension-configs[0]=xxx ." }, - { - "name": "spring.cloud.nacos.config.health.enabled", - "type": "java.lang.Boolean", - "defaultValue": true, - "description": "the switch for health check, it default enabled(true)." - }, { "name": "spring.cloud.nacos.config.refresh-enabled", "type": "java.lang.Boolean", diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressBothLevelTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressBothLevelTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressBothLevelTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressBothLevelTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressTopLevelTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressTopLevelTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressTopLevelTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigPropertiesServerAddressTopLevelTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationExtConfigTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationExtConfigTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationExtConfigTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationExtConfigTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNewTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNewTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNewTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNewTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNoSuffixTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNoSuffixTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNoSuffixTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationNoSuffixTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationXmlJsonTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationXmlJsonTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationXmlJsonTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosConfigurationXmlJsonTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosFileExtensionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosFileExtensionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosFileExtensionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/NacosFileExtensionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/test/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml similarity index 98% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml index fdb4e11d..8916a150 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ConditionalOnNacosDiscoveryEnabled.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ConditionalOnNacosDiscoveryEnabled.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ConditionalOnNacosDiscoveryEnabled.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ConditionalOnNacosDiscoveryEnabled.java diff --git a/spring-cloud-starter-alibaba/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 similarity index 99% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 50882316..5b283c9a 100644 --- a/spring-cloud-starter-alibaba/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 @@ -547,8 +547,8 @@ public class NacosDiscoveryProperties { private Properties getNacosProperties() { Properties properties = new Properties(); properties.put(SERVER_ADDR, serverAddr); - properties.put(USERNAME, Objects.toString(username,"")); - properties.put(PASSWORD, Objects.toString(password,"")); + properties.put(USERNAME, Objects.toString(username, "")); + properties.put(PASSWORD, Objects.toString(password, "")); properties.put(NAMESPACE, namespace); properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, logName); diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosServiceInstance.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosServiceInstance.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosServiceInstance.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosServiceInstance.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosWatch.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/actuate/health/NacosDiscoveryHealthIndicator.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/actuate/health/NacosDiscoveryHealthIndicator.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/actuate/health/NacosDiscoveryHealthIndicator.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/actuate/health/NacosDiscoveryHealthIndicator.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosConfigServerAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosConfigServerAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosConfigServerAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosConfigServerAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosDiscoveryClientConfigServiceBootstrapConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosDiscoveryClientConfigServiceBootstrapConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosDiscoveryClientConfigServiceBootstrapConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/configclient/NacosDiscoveryClientConfigServiceBootstrapConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpoint.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java diff --git a/spring-cloud-starter-alibaba/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 similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ConditionalOnRibbonNacos.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ConditionalOnRibbonNacos.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ConditionalOnRibbonNacos.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ConditionalOnRibbonNacos.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ExtendBalancer.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ExtendBalancer.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ExtendBalancer.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/ExtendBalancer.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosRule.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServer.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServer.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServer.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServer.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerIntrospector.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerIntrospector.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerIntrospector.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerIntrospector.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/NacosServerList.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/RibbonNacosAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/RibbonNacosAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/RibbonNacosAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/ribbon/RibbonNacosAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryClientTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressBothLevelTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressBothLevelTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressBothLevelTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressBothLevelTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressTopLevelTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressTopLevelTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressTopLevelTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryPropertiesServerAddressTopLevelTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfigurationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfigurationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfigurationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryAutoConfigurationTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfigurationTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfigurationTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfigurationTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosDiscoveryClientConfigurationTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscoveryTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscoveryTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscoveryTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscoveryTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfigurationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfigurationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfigurationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientConfigurationTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/discovery/reactive/NacosReactiveDiscoveryClientTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/MockNamingService.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/MockNamingService.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/MockNamingService.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/MockNamingService.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpNetworkInterfaceTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpNetworkInterfaceTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpNetworkInterfaceTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpNetworkInterfaceTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationIpTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationManagementPortTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationManagementPortTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationManagementPortTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationManagementPortTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationPortTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationPortTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationPortTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationPortTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfigurationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfigurationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfigurationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientConfigurationTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientPropertyOverrideTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientPropertyOverrideTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientPropertyOverrideTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosRibbonClientPropertyOverrideTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/ribbon/NacosServerListTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/CommonTestConfig.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/CommonTestConfig.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/CommonTestConfig.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/CommonTestConfig.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/NacosMockTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/NacosMockTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/NacosMockTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/test/NacosMockTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml similarity index 98% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml index e8a78dd9..970ae678 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataBeanPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataBeanPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataBeanPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataBeanPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataContextBeanPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataContextBeanPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataContextBeanPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataContextBeanPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBlockingLoadBalancerClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBlockingLoadBalancerClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBlockingLoadBalancerClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBlockingLoadBalancerClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBuilder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBuilder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBuilder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignBuilder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClientAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClientAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClientAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignClientAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignContext.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignContext.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignContext.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignContext.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignObjectWrapper.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignObjectWrapper.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignObjectWrapper.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataFeignObjectWrapper.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataHystrixFeignBuilder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataHystrixFeignBuilder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataHystrixFeignBuilder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataHystrixFeignBuilder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataLoadBalancerFeignClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataLoadBalancerFeignClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataLoadBalancerFeignClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataLoadBalancerFeignClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataSentinelFeignBuilder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataSentinelFeignBuilder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataSentinelFeignBuilder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/SeataSentinelFeignBuilder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/feign/hystrix/SeataHystrixConcurrencyStrategy.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateInterceptor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateInterceptor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateInterceptor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/rest/SeataRestTemplateInterceptor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptorConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptorConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptorConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptorConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-seata/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml similarity index 98% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml index 29c9ed58..9b0d6289 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelConstants.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelConstants.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelConstants.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelConstants.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebFluxAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebFluxAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebFluxAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/SentinelWebFluxAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/annotation/SentinelRestTemplate.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/annotation/SentinelRestTemplate.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/annotation/SentinelRestTemplate.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/annotation/SentinelRestTemplate.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/BlockClassRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/BlockClassRegistry.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/BlockClassRegistry.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/BlockClassRegistry.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelBeanPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelBeanPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelBeanPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelBeanPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelCircuitBreakerConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelCircuitBreakerConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelCircuitBreakerConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelCircuitBreakerConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelDataSourceHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelDataSourceHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelDataSourceHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelDataSourceHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelProtectInterceptor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelProtectInterceptor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelProtectInterceptor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/custom/SentinelProtectInterceptor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpoint.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpoint.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpoint.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpoint.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicator.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicator.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicator.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicator.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelContractHolder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelContractHolder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelContractHolder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelContractHolder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeign.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeign.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeign.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeign.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeignAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeignAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeignAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelFeignAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelInvocationHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelInvocationHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelInvocationHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/feign/SentinelInvocationHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/rest/SentinelClientHttpResponse.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/rest/SentinelClientHttpResponse.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/rest/SentinelClientHttpResponse.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/rest/SentinelClientHttpResponse.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/ContextIdSentinelFeignTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/ContextIdSentinelFeignTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/ContextIdSentinelFeignTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/ContextIdSentinelFeignTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelAutoConfigurationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelAutoConfigurationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelAutoConfigurationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelAutoConfigurationTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelBeanAutowiredTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelBeanAutowiredTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelBeanAutowiredTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelBeanAutowiredTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelDataSourceTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelDataSourceTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelDataSourceTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelDataSourceTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelFeignTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelFeignTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelFeignTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelFeignTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelRestTemplateTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelRestTemplateTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelRestTemplateTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/SentinelRestTemplateTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/TestConverter.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/TestConverter.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/TestConverter.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/TestConverter.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicatorTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicatorTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicatorTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/java/com/alibaba/cloud/sentinel/endpoint/SentinelHealthIndicatorTests.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/authority.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/authority.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/authority.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/authority.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/degraderule.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/degraderule.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/degraderule.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/degraderule.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/flowrule.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/flowrule.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/flowrule.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/flowrule.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/param-flow.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/param-flow.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/param-flow.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/param-flow.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/system.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/system.json similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sentinel/src/test/resources/system.json rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/test/resources/system.json diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml similarity index 96% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml index 0177b7d5..0dc64538 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java similarity index 93% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java index 3f29a58d..da4bd851 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java @@ -16,6 +16,7 @@ package com.alibaba.cloud.sidecar; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -37,6 +38,7 @@ public class SidecarAutoConfiguration { } @Bean + @ConditionalOnEnabledHealthIndicator("sidecar") public SidecarHealthIndicator sidecarHealthIndicator( SidecarProperties sidecarProperties, RestTemplate restTemplate) { return new SidecarHealthIndicator(sidecarProperties, restTemplate); diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarDiscoveryClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarDiscoveryClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarDiscoveryClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthChecker.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthChecker.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthChecker.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthChecker.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthIndicator.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthIndicator.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthIndicator.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarHealthIndicator.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulAutoRegistration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulDiscoveryClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulDiscoveryClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/consul/SidecarConsulDiscoveryClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryClient.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/nacos/SidecarNacosDiscoveryProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-sidecar/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml similarity index 94% rename from spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml index d1fec7fd..c7c52989 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/src/main/java/com/alibaba/cloud/bus/rocketmq/env/RocketMQBusEnvironmentPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/src/main/java/com/alibaba/cloud/bus/rocketmq/env/RocketMQBusEnvironmentPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/src/main/java/com/alibaba/cloud/bus/rocketmq/env/RocketMQBusEnvironmentPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/src/main/java/com/alibaba/cloud/bus/rocketmq/env/RocketMQBusEnvironmentPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-bus-rocketmq/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-bus-rocketmq/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/README.md b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/README.md similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/README.md rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/README.md diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/README_CN.md b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/README_CN.md similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/README_CN.md rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/README_CN.md diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml similarity index 99% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml index 2b985f02..c3f9cae8 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/pom.xml @@ -5,7 +5,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/endpoint/DubboRestMetadataEndpoint.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/endpoint/DubboRestMetadataEndpoint.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/endpoint/DubboRestMetadataEndpoint.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/endpoint/DubboRestMetadataEndpoint.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/annotation/DubboTransported.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboLoadBalancedRestTemplateAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboLoadBalancedRestTemplateAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboLoadBalancedRestTemplateAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboLoadBalancedRestTemplateAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboMetadataAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboMetadataAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboMetadataAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboMetadataAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboOpenFeignAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboOpenFeignAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboOpenFeignAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboOpenFeignAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceDiscoveryAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboHttpOutputMessage.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboHttpOutputMessage.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboHttpOutputMessage.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboHttpOutputMessage.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboMetadataInitializerInterceptor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboMetadataInitializerInterceptor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboMetadataInitializerInterceptor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboMetadataInitializerInterceptor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboTransporterInterceptor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboTransporterInterceptor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboTransporterInterceptor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboTransporterInterceptor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/context/DubboServiceRegistrationApplicationContextInitializer.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/context/DubboServiceRegistrationApplicationContextInitializer.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/context/DubboServiceRegistrationApplicationContextInitializer.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/context/DubboServiceRegistrationApplicationContextInitializer.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboCloudProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboCloudProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboCloudProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboCloudProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/env/DubboNonWebApplicationEnvironmentPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/ByteArrayHttpInputMessage.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/ByteArrayHttpInputMessage.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/ByteArrayHttpInputMessage.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/ByteArrayHttpInputMessage.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/DefaultHttpRequest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/DefaultHttpRequest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/DefaultHttpRequest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/DefaultHttpRequest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/HttpServerRequest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/HttpServerRequest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/HttpServerRequest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/HttpServerRequest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/MutableHttpServerRequest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/MutableHttpServerRequest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/MutableHttpServerRequest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/MutableHttpServerRequest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/converter/HttpMessageConverterHolder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/converter/HttpMessageConverterHolder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/converter/HttpMessageConverterHolder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/converter/HttpMessageConverterHolder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/CompositeHttpRequestMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/CompositeHttpRequestMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/CompositeHttpRequestMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/CompositeHttpRequestMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestConsumersMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestConsumersMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestConsumersMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestConsumersMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestHeadersMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestHeadersMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestHeadersMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestHeadersMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestPathMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestPathMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestPathMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestPathMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestProducesMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestProducesMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestProducesMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestProducesMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/MediaTypeExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/MediaTypeExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/MediaTypeExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/MediaTypeExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/NameValueExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/NameValueExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/NameValueExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/NameValueExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpression.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpression.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpression.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpression.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/RequestMetadataMatcher.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/RequestMetadataMatcher.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/RequestMetadataMatcher.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/matcher/RequestMetadataMatcher.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpMessageConverterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpMessageConverterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpMessageConverterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpMessageConverterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpUtils.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpUtils.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpUtils.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/http/util/HttpUtils.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboProtocolConfigSupplier.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboProtocolConfigSupplier.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboProtocolConfigSupplier.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboProtocolConfigSupplier.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboRestServiceMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboRestServiceMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboRestServiceMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboRestServiceMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboTransportedMethodMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboTransportedMethodMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboTransportedMethodMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/DubboTransportedMethodMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodParameterMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodParameterMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodParameterMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/MethodParameterMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RequestMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RequestMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RequestMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RequestMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RestMethodMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RestMethodMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RestMethodMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/RestMethodMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/ServiceRestMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/ServiceRestMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/ServiceRestMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/ServiceRestMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/DubboServiceMetadataRepository.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/MetadataServiceInstanceSelector.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/MetadataServiceInstanceSelector.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/MetadataServiceInstanceSelector.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/MetadataServiceInstanceSelector.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedAttributesResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedAttributesResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedAttributesResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedAttributesResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/MetadataResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/MetadataResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/MetadataResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/resolver/MetadataResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/DubboInvocationHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/DubboInvocationHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/DubboInvocationHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/DubboInvocationHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/FeignMethodMetadata.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/FeignMethodMetadata.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/FeignMethodMetadata.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/FeignMethodMetadata.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterBeanPostProcessor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterBeanPostProcessor.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterBeanPostProcessor.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterBeanPostProcessor.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterInvocationHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterInvocationHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterInvocationHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/openfeign/TargeterInvocationHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java similarity index 99% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java index 23fbb8cb..d9ae1eae 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/AbstractSpringCloudRegistry.java @@ -223,9 +223,11 @@ public abstract class AbstractSpringCloudRegistry extends FailbackRegistry { Collection serviceInstances = serviceInstancesFunction .apply(serviceName); - // issue : ReStarting a consumer and then starting a provider does not automatically discover the registration + // issue : ReStarting a consumer and then starting a provider does not + // automatically discover the registration // fix https://github.com/alibaba/spring-cloud-alibaba/issues/753 - // Re-obtain the latest list of available metadata address here, ip or port may change. + // Re-obtain the latest list of available metadata address here, ip or port may + // change. // by https://github.com/wangzihaogithub // When the last service provider is closed, 【fix 1259】while close the channel,when up a new provider then repository.initializeMetadata(serviceName) will throw Exception. // dubboMetadataConfigServiceProxy.removeProxy(serviceName); diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DelegatingRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DelegatingRegistration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DelegatingRegistration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DelegatingRegistration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DubboServiceRegistrationEventPublishingAspect.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DubboServiceRegistrationEventPublishingAspect.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DubboServiceRegistrationEventPublishingAspect.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/DubboServiceRegistrationEventPublishingAspect.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistry.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistry.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistry.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistryFactory.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistryFactory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistryFactory.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/SpringCloudRegistryFactory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancePreRegisteredEvent.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancePreRegisteredEvent.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancePreRegisteredEvent.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancePreRegisteredEvent.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstanceRegisteredEvent.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstanceRegisteredEvent.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstanceRegisteredEvent.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstanceRegisteredEvent.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancesChangedEvent.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancesChangedEvent.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancesChangedEvent.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/ServiceInstancesChangedEvent.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/SubscribedServicesChangedEvent.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/SubscribedServicesChangedEvent.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/SubscribedServicesChangedEvent.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/registry/event/SubscribedServicesChangedEvent.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContext.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContext.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContext.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContext.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContextFactory.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContextFactory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContextFactory.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceExecutionContextFactory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceFactory.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceFactory.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceFactory.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboGenericServiceFactory.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataService.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataService.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataService.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataService.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceExporter.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceExporter.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceExporter.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceExporter.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceInvocationHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceInvocationHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceInvocationHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceInvocationHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceProxy.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceProxy.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceProxy.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/DubboMetadataServiceProxy.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/IntrospectiveDubboMetadataService.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/IntrospectiveDubboMetadataService.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/IntrospectiveDubboMetadataService.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/IntrospectiveDubboMetadataService.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractDubboGenericServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractDubboGenericServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractDubboGenericServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractDubboGenericServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractNamedValueServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractNamedValueServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractNamedValueServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/AbstractNamedValueServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/DubboGenericServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/DubboGenericServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/DubboGenericServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/DubboGenericServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/PathVariableServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/PathVariableServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/PathVariableServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/PathVariableServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestBodyServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestBodyServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestBodyServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestBodyServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestHeaderServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestHeaderServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestHeaderServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestHeaderServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestParamServiceParameterResolver.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestParamServiceParameterResolver.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestParamServiceParameterResolver.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/service/parameter/RequestParamServiceParameterResolver.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/util/JSONUtils.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/util/JSONUtils.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/util/JSONUtils.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/util/JSONUtils.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/default/actuator-endpoints.properties b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/default/actuator-endpoints.properties similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/default/actuator-endpoints.properties rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/resources/META-INF/dubbo/default/actuator-endpoints.properties diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfigurationTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfigurationTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfigurationTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfigurationTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcherTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcherTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcherTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractHttpRequestMatcherTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpressionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpressionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpressionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractMediaTypeExpressionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpressionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpressionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpressionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/AbstractNameValueExpressionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpressionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpressionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpressionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ConsumeMediaTypeExpressionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpressionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpressionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpressionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HeaderExpressionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcherTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcherTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcherTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestMethodsMatcherTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcherTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcherTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcherTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/HttpRequestParamsMatcherTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpressionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpressionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpressionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ParamExpressionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/matcher/ProduceMediaTypeExpressionTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/util/HttpUtilsTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/util/HttpUtilsTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/util/HttpUtilsTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/http/util/HttpUtilsTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/RequestMetadataTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/RequestMetadataTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/RequestMetadataTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/RequestMetadataTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolverTest.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolverTest.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolverTest.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/java/com/alibaba/cloud/dubbo/metadata/resolver/DubboTransportedMethodMetadataResolverTest.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/resources/application.yaml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/resources/application.yaml similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/resources/application.yaml rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/resources/application.yaml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/resources/bootstrap.yaml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/resources/bootstrap.yaml similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-dubbo/src/test/resources/bootstrap.yaml rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/test/resources/bootstrap.yaml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml similarity index 97% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/pom.xml rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml index 1d5fc759..9203d1ca 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/pom.xml @@ -4,7 +4,7 @@ com.alibaba.cloud - spring-cloud-starter-alibaba + spring-cloud-alibaba-starters 2.2.1.BUILD-SNAPSHOT ../pom.xml diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderConstants.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderConstants.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderConstants.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderConstants.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderUtils.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderUtils.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderUtils.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQBinderUtils.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQMessageChannelBinder.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQMessageChannelBinder.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQMessageChannelBinder.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQMessageChannelBinder.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/actuator/RocketMQBinderHealthIndicator.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/actuator/RocketMQBinderHealthIndicator.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/actuator/RocketMQBinderHealthIndicator.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/actuator/RocketMQBinderHealthIndicator.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java similarity index 90% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java index 847422a8..1c3b5dc0 100644 --- a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java @@ -18,6 +18,7 @@ package com.alibaba.cloud.stream.binder.rocketmq.config; import com.alibaba.cloud.stream.binder.rocketmq.actuator.RocketMQBinderHealthIndicator; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; @@ -31,6 +32,7 @@ import org.springframework.context.annotation.Configuration; public class RocketMQBinderHealthIndicatorAutoConfiguration { @Bean + @ConditionalOnEnabledHealthIndicator("rocketmq") public RocketMQBinderHealthIndicator rocketBinderHealthIndicator() { return new RocketMQBinderHealthIndicator(); } diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQComponent4BinderAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQComponent4BinderAutoConfiguration.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQComponent4BinderAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQComponent4BinderAutoConfiguration.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQListenerBindingContainer.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQListenerBindingContainer.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQListenerBindingContainer.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQListenerBindingContainer.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQMessageQueueChooser.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQMessageQueueChooser.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQMessageQueueChooser.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/consuming/RocketMQMessageQueueChooser.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQInboundChannelAdapter.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQInboundChannelAdapter.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQInboundChannelAdapter.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQInboundChannelAdapter.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageHandler.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageHandler.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageHandler.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageHandler.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageSource.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageSource.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageSource.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/integration/RocketMQMessageSource.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/Instrumentation.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/Instrumentation.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/Instrumentation.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/Instrumentation.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/InstrumentationManager.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/InstrumentationManager.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/InstrumentationManager.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/metrics/InstrumentationManager.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBinderConfigurationProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBinderConfigurationProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBinderConfigurationProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBinderConfigurationProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBindingProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBindingProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBindingProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQBindingProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQConsumerProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQConsumerProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQConsumerProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQConsumerProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQExtendedBindingProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQExtendedBindingProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQExtendedBindingProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQExtendedBindingProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQProducerProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQProducerProperties.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQProducerProperties.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/properties/RocketMQProducerProperties.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/RocketMQTopicProvisioner.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/RocketMQTopicProvisioner.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/RocketMQTopicProvisioner.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/RocketMQTopicProvisioner.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/selector/PartitionMessageQueueSelector.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/selector/PartitionMessageQueueSelector.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/selector/PartitionMessageQueueSelector.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/provisioning/selector/PartitionMessageQueueSelector.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/AbstractRocketMQHeaderMapper.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/AbstractRocketMQHeaderMapper.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/AbstractRocketMQHeaderMapper.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/AbstractRocketMQHeaderMapper.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/JacksonRocketMQHeaderMapper.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/JacksonRocketMQHeaderMapper.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/JacksonRocketMQHeaderMapper.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/JacksonRocketMQHeaderMapper.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/RocketMQHeaderMapper.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/RocketMQHeaderMapper.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/RocketMQHeaderMapper.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/support/RocketMQHeaderMapper.java diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.binders b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.binders similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.binders rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.binders diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.factories rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/resources/META-INF/spring.factories diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/test/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQAutoConfigurationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/test/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQAutoConfigurationTests.java similarity index 100% rename from spring-cloud-starter-alibaba/spring-cloud-starter-stream-rocketmq/src/test/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQAutoConfigurationTests.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/test/java/com/alibaba/cloud/stream/binder/rocketmq/RocketMQAutoConfigurationTests.java diff --git a/spring-cloud-starter-alicloud/pom.xml b/spring-cloud-starter-alicloud/pom.xml deleted file mode 100644 index 06313076..00000000 --- a/spring-cloud-starter-alicloud/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - 4.0.0 - - - com.alibaba.cloud - spring-cloud-alibaba - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - spring-cloud-starter-alicloud - pom - Spring Cloud Alibaba Cloud Starters - Spring Cloud Alibaba Cloud Starters - - spring-cloud-alicloud-context - spring-cloud-starter-alicloud-oss - spring-cloud-starter-alicloud-acm - spring-cloud-starter-alicloud-ans - spring-cloud-starter-alicloud-schedulerx - spring-cloud-starter-alicloud-sms - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco.version} - - - jacoco-initialize - - prepare-agent - - - - jacoco-site - test - - report - - - - - - - \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/pom.xml deleted file mode 100644 index 2f7aee35..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/pom.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - com.alibaba.cloud - spring-cloud-starter-alicloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - 4.0.0 - - spring-cloud-alicloud-context - Spring Cloud AliCloud Context - - - - - com.aliyun - aliyun-java-sdk-edas - provided - - - com.aliyun - aliyun-java-sdk-core - - - - - - com.alibaba.cloud - alicloud-context - - - - com.aliyun - aliyun-java-sdk-core - provided - - - - com.alibaba.edas - schedulerX-client - provided - - - - com.alibaba.ans - ans-sdk - provided - - - - com.aliyun.oss - aliyun-sdk-oss - provided - - - - com.alibaba.edas.acm - acm-sdk - provided - - - - org.springframework.cloud - spring-cloud-commons - true - - - - org.springframework.boot - spring-boot-starter-logging - true - - - - org.springframework.boot - spring-boot - true - - - - org.springframework.boot - spring-boot-autoconfigure - true - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.springframework.boot - spring-boot-starter-web - test - - - - org.powermock - powermock-module-junit4 - 2.0.0 - test - - - - org.powermock - powermock-api-mockito2 - 2.0.0 - test - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco.version} - - - jacoco-initialize - - prepare-agent - - - - jacoco-site - test - - report - - - - - - - diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java deleted file mode 100644 index e364fc53..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.commons.util.InetUtils; -import org.springframework.cloud.commons.util.InetUtilsProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - * @author theonefx - */ -@Configuration(proxyBeanMethods = false) -public class AliCloudContextAutoConfiguration { - - @Configuration(proxyBeanMethods = false) - @EnableConfigurationProperties(AliCloudProperties.class) - static class AliCloudPropertiesConfiguration { - - } - - @Configuration(proxyBeanMethods = false) - @EnableConfigurationProperties(InetUtilsProperties.class) - @ConditionalOnClass(InetUtilsProperties.class) - static class InetUtilsConfiguration { - - @Bean - @ConditionalOnMissingBean - public InetUtils inetUtils(InetUtilsProperties inetUtilsProperties) { - return new InetUtils(inetUtilsProperties); - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudProperties.java deleted file mode 100644 index 43af7e1e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudProperties.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context; - -import com.alibaba.cloud.context.AliCloudConfiguration; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * @author xiaolongzuo - */ -@ConfigurationProperties("spring.cloud.alicloud") -public class AliCloudProperties implements AliCloudConfiguration { - - /** - * alibaba cloud access key. - */ - private String accessKey; - - /** - * alibaba cloud secret key. - */ - private String secretKey; - - @Override - public String getAccessKey() { - return accessKey; - } - - public void setAccessKey(String accessKey) { - this.accessKey = accessKey; - } - - @Override - public String getSecretKey() { - return secretKey; - } - - public void setSecretKey(String secretKey) { - this.secretKey = secretKey; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/Constants.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/Constants.java deleted file mode 100644 index 36aadc0f..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/Constants.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context; - -/** - * @author Jim - */ -public final class Constants { - - private Constants() { - throw new AssertionError("Must not instantiate constant utility class"); - } - - public final class Sentinel { - - /** - * prefix of sentinel. - */ - public static final String PROPERTY_PREFIX = "spring.cloud.sentinel"; - - /** - * nacos access key. - */ - public static final String NACOS_DATASOURCE_AK = PROPERTY_PREFIX - + ".nacos.config.access-key"; - - /** - * nacos secret key. - */ - public static final String NACOS_DATASOURCE_SK = PROPERTY_PREFIX - + ".nacos.config.secret-key"; - - /** - * nacos namespace. - */ - public static final String NACOS_DATASOURCE_NAMESPACE = PROPERTY_PREFIX - + ".nacos.config.namespace"; - - /** - * nacos endpoint. - */ - public static final String NACOS_DATASOURCE_ENDPOINT = PROPERTY_PREFIX - + ".nacos.config.endpoint"; - - /** - * nacos project name. - */ - public static final String PROJECT_NAME = PROPERTY_PREFIX - + ".nacos.config.project-name"; - - private Sentinel() { - throw new AssertionError("Must not instantiate constant utility class"); - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmContextBootstrapConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmContextBootstrapConfiguration.java deleted file mode 100644 index bbf74c7c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmContextBootstrapConfiguration.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.acm; - -import javax.annotation.PostConstruct; - -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration; -import com.alibaba.alicloud.context.edas.EdasProperties; -import com.alibaba.cloud.context.acm.AliCloudAcmInitializer; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; -import org.springframework.util.Assert; -import org.springframework.util.StringUtils; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties(AcmProperties.class) -@ConditionalOnClass(name = "com.alibaba.alicloud.acm.AcmAutoConfiguration") -@ImportAutoConfiguration(EdasContextAutoConfiguration.class) -public class AcmContextBootstrapConfiguration { - - @Autowired - private AcmProperties acmProperties; - - @Autowired - private EdasProperties edasProperties; - - @Autowired - private AliCloudProperties aliCloudProperties; - - @Autowired - private Environment environment; - - @PostConstruct - public void initAcmProperties() { - AliCloudAcmInitializer.initialize(aliCloudProperties, edasProperties, - acmProperties); - } - - @Bean - public AcmIntegrationProperties acmIntegrationProperties() { - AcmIntegrationProperties acmIntegrationProperties = new AcmIntegrationProperties(); - String applicationName = environment.getProperty("spring.application.name"); - String applicationGroup = environment.getProperty("spring.application.group"); - Assert.isTrue(!StringUtils.isEmpty(applicationName), - "'spring.application.name' must be configured in bootstrap.properties or bootstrap.yml/yaml..."); - acmIntegrationProperties.setApplicationName(applicationName); - acmIntegrationProperties.setApplicationGroup(applicationGroup); - acmIntegrationProperties.setActiveProfiles(environment.getActiveProfiles()); - acmIntegrationProperties.setAcmProperties(acmProperties); - return acmIntegrationProperties; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmIntegrationProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmIntegrationProperties.java deleted file mode 100644 index 88d35579..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmIntegrationProperties.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.acm; - -import java.util.ArrayList; -import java.util.List; - -import org.springframework.util.StringUtils; - -/** - * @author xiaolongzuo - */ -public class AcmIntegrationProperties { - - private String applicationName; - - private String applicationGroup; - - private String[] activeProfiles = new String[0]; - - private AcmProperties acmProperties; - - public String getApplicationConfigurationDataIdWithoutGroup() { - return applicationName + "." + acmProperties.getFileExtension(); - } - - public List getGroupConfigurationDataIds() { - List groupConfigurationDataIds = new ArrayList<>(); - if (StringUtils.isEmpty(applicationGroup)) { - return groupConfigurationDataIds; - } - String[] parts = applicationGroup.split("\\."); - for (int i = 1; i < parts.length; i++) { - StringBuilder subGroup = new StringBuilder(parts[0]); - for (int j = 1; j <= i; j++) { - subGroup.append(".").append(parts[j]); - } - groupConfigurationDataIds - .add(subGroup + ":application." + acmProperties.getFileExtension()); - } - return groupConfigurationDataIds; - } - - public List getApplicationConfigurationDataIds() { - List applicationConfigurationDataIds = new ArrayList<>(); - if (!StringUtils.isEmpty(applicationGroup)) { - applicationConfigurationDataIds.add(applicationGroup + ":" + applicationName - + "." + acmProperties.getFileExtension()); - for (String profile : activeProfiles) { - applicationConfigurationDataIds - .add(applicationGroup + ":" + applicationName + "-" + profile - + "." + acmProperties.getFileExtension()); - } - - } - applicationConfigurationDataIds - .add(applicationName + "." + acmProperties.getFileExtension()); - for (String profile : activeProfiles) { - applicationConfigurationDataIds.add(applicationName + "-" + profile + "." - + acmProperties.getFileExtension()); - } - return applicationConfigurationDataIds; - } - - public void setApplicationName(String applicationName) { - this.applicationName = applicationName; - } - - public void setApplicationGroup(String applicationGroup) { - this.applicationGroup = applicationGroup; - } - - public void setActiveProfiles(String[] activeProfiles) { - this.activeProfiles = activeProfiles; - } - - public String[] getActiveProfiles() { - return activeProfiles; - } - - public void setAcmProperties(AcmProperties acmProperties) { - this.acmProperties = acmProperties; - } - - public AcmProperties getAcmProperties() { - return acmProperties; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmProperties.java deleted file mode 100644 index dea83224..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/acm/AcmProperties.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.acm; - -import com.alibaba.cloud.context.AliCloudServerMode; -import com.alibaba.cloud.context.acm.AcmConfiguration; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * acm properties. - * - * @author leijuan - * @author xiaolongzuo - */ -@ConfigurationProperties(prefix = "spring.cloud.alicloud.acm") -public class AcmProperties implements AcmConfiguration { - - private AliCloudServerMode serverMode = AliCloudServerMode.LOCAL; - - private String serverList = "127.0.0.1"; - - private String serverPort = "8080"; - - /** - * diamond group. - */ - private String group = "DEFAULT_GROUP"; - - /** - * timeout to get configuration. - */ - private int timeout = 3000; - - /** - * the AliYun endpoint for ACM. - */ - private String endpoint; - - /** - * ACM namespace. - */ - private String namespace; - - /** - * name of ram role granted to ECS. - */ - private String ramRoleName; - - private String fileExtension = "properties"; - - private boolean refreshEnabled = true; - - public String getFileExtension() { - return fileExtension; - } - - public void setFileExtension(String fileExtension) { - this.fileExtension = fileExtension; - } - - @Override - public String getServerList() { - return serverList; - } - - public void setServerList(String serverList) { - this.serverList = serverList; - } - - @Override - public String getServerPort() { - return serverPort; - } - - public void setServerPort(String serverPort) { - this.serverPort = serverPort; - } - - @Override - public boolean isRefreshEnabled() { - return refreshEnabled; - } - - public void setRefreshEnabled(boolean refreshEnabled) { - this.refreshEnabled = refreshEnabled; - } - - @Override - public String getGroup() { - return group; - } - - public void setGroup(String group) { - this.group = group; - } - - @Override - public int getTimeout() { - return timeout; - } - - public void setTimeout(int timeout) { - this.timeout = timeout; - } - - @Override - public String getEndpoint() { - return endpoint; - } - - public void setEndpoint(String endpoint) { - this.endpoint = endpoint; - } - - @Override - public String getNamespace() { - return namespace; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - @Override - public String getRamRoleName() { - return ramRoleName; - } - - public void setRamRoleName(String ramRoleName) { - this.ramRoleName = ramRoleName; - } - - @Override - public AliCloudServerMode getServerMode() { - return serverMode; - } - - public void setServerMode(AliCloudServerMode serverMode) { - this.serverMode = serverMode; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsContextApplicationListener.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsContextApplicationListener.java deleted file mode 100644 index 2100b5fb..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsContextApplicationListener.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.ans; - -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.alicloud.context.edas.EdasProperties; -import com.alibaba.alicloud.context.listener.AbstractOnceApplicationListener; -import com.alibaba.cloud.context.ans.AliCloudAnsInitializer; -import com.alibaba.cloud.context.edas.AliCloudEdasSdk; - -import org.springframework.context.ApplicationContext; -import org.springframework.context.event.ContextRefreshedEvent; - -/** - * Init {@link com.alibaba.ans.core.NamingService} properties. - * - * @author xiaolongzuo - */ -public class AnsContextApplicationListener - extends AbstractOnceApplicationListener { - - @Override - protected String conditionalOnClass() { - return "com.alibaba.alicloud.ans.AnsAutoConfiguration"; - } - - @Override - public void handleEvent(ContextRefreshedEvent event) { - ApplicationContext applicationContext = event.getApplicationContext(); - AliCloudProperties aliCloudProperties = applicationContext - .getBean(AliCloudProperties.class); - EdasProperties edasProperties = applicationContext.getBean(EdasProperties.class); - AnsProperties ansProperties = applicationContext.getBean(AnsProperties.class); - AliCloudEdasSdk aliCloudEdasSdk = applicationContext - .getBean(AliCloudEdasSdk.class); - AliCloudAnsInitializer.initialize(aliCloudProperties, edasProperties, - ansProperties, aliCloudEdasSdk); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsContextAutoConfiguration.java deleted file mode 100644 index 32c4a602..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsContextAutoConfiguration.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.ans; - -import com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration; - -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnClass(name = "com.alibaba.alicloud.ans.AnsAutoConfiguration") -@EnableConfigurationProperties(AnsProperties.class) -@ImportAutoConfiguration(EdasContextAutoConfiguration.class) -public class AnsContextAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsProperties.java deleted file mode 100644 index cf5592e0..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/ans/AnsProperties.java +++ /dev/null @@ -1,344 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.ans; - -import java.net.Inet4Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; - -import javax.annotation.PostConstruct; - -import com.alibaba.cloud.context.AliCloudServerMode; -import com.alibaba.cloud.context.ans.AnsConfiguration; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.commons.util.InetUtils; -import org.springframework.util.StringUtils; - -/** - * @author xiaolongzuo - */ -@ConfigurationProperties("spring.cloud.alicloud.ans") -public class AnsProperties implements AnsConfiguration { - - /** - * Server side mode,the default is LOCAL. - */ - private AliCloudServerMode serverMode = AliCloudServerMode.LOCAL; - - /** - * Server list. - */ - private String serverList = "127.0.0.1"; - - /** - * Server port. - */ - private String serverPort = "8080"; - - /** - * Service names,default value is ${spring.cloud.alicloud.ans.doms}. When not - * configured, use ${spring.application.name}. - */ - @Value("${spring.cloud.alicloud.ans.client-domains:${spring.application.name:}}") - private String clientDomains; - - /** - * The weight of the registration service, obtained from the configuration - * ${spring.cloud.alicloud.ans.weight}, the default is 1. - */ - private float clientWeight = 1; - - /** - * When there are multiple doms and need to correspond to different weights, configure - * them by spring.cloud.alicloud.ans.weight.dom1=weight1. - */ - private Map clientWeights = new HashMap(); - - /** - * The token of the registration service, obtained from - * ${spring.cloud.alicloud.ans.token}. - */ - private String clientToken; - - /** - * When there are multiple doms and need to correspond to different tokens, configure - * them by spring.cloud.alicloud.ans.tokens.dom1=token1. - */ - private Map clientTokens = new HashMap(); - - /** - * Configure which cluster to register with, obtained from - * ${spring.cloud.alicloud.ans.cluster}, defaults to DEFAULT. - */ - private String clientCluster = "DEFAULT"; - - /** - * Temporarily not supported, reserved fields. - */ - private Map clientMetadata = new HashMap<>(); - - /** - * Registration is turned on by default, and registration can be turned off by the - * configuration of spring.cloud.alicloud.ans.register-enabled=false. - */ - private boolean registerEnabled = true; - - /** - * The ip of the service you want to publish, obtained from - * ${spring.cloud.alicloud.ans.client-ip}. - */ - private String clientIp; - - /** - * Configure which NIC the ip of the service you want to publish is obtained from. - */ - private String clientInterfaceName; - - /** - * The port of the service you want to publish. - */ - private int clientPort = -1; - - /** - * The environment isolation configuration under the tenant, the services in the same - * environment of the same tenant can discover each other. - */ - @Value("${spring.cloud.alicloud.ans.env:${env.id:DEFAULT}}") - private String env; - - /** - * Whether to register as https, configured by ${spring.cloud.alicloud.ans.secure}, - * default is false. - */ - private boolean secure = false; - - @Autowired - private InetUtils inetUtils; - - private Map tags = new HashMap<>(); - - @PostConstruct - public void init() throws SocketException { - - // Marked as spring cloud application - tags.put("ANS_SERVICE_TYPE", "SPRING_CLOUD"); - - if (StringUtils.isEmpty(clientIp)) { - if (StringUtils.isEmpty(clientInterfaceName)) { - clientIp = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); - } - else { - NetworkInterface networkInterface = NetworkInterface - .getByName(clientInterfaceName); - if (null == networkInterface) { - throw new RuntimeException( - "no such network interface " + clientInterfaceName); - } - - Enumeration inetAddress = networkInterface - .getInetAddresses(); - while (inetAddress.hasMoreElements()) { - InetAddress currentAddress = inetAddress.nextElement(); - if (currentAddress instanceof Inet4Address - && !currentAddress.isLoopbackAddress()) { - clientIp = currentAddress.getHostAddress(); - break; - } - } - - if (StringUtils.isEmpty(clientIp)) { - throw new RuntimeException( - "cannot find available ip from network interface " - + clientInterfaceName); - } - - } - } - } - - @Override - public String getServerPort() { - return serverPort; - } - - public void setServerPort(String serverPort) { - this.serverPort = serverPort; - } - - @Override - public String getServerList() { - return serverList; - } - - public void setServerList(String serverList) { - this.serverList = serverList; - } - - @Override - public boolean isRegisterEnabled() { - return registerEnabled; - } - - public void setRegisterEnabled(boolean registerEnabled) { - this.registerEnabled = registerEnabled; - } - - @Override - public boolean isSecure() { - return secure; - } - - public void setSecure(boolean secure) { - this.secure = secure; - } - - @Override - public String getEnv() { - return env; - } - - public void setEnv(String env) { - this.env = env; - } - - @Override - public Map getTags() { - return tags; - } - - public void setTags(Map tags) { - this.tags = tags; - } - - @Override - public AliCloudServerMode getServerMode() { - return serverMode; - } - - public void setServerMode(AliCloudServerMode serverMode) { - this.serverMode = serverMode; - } - - @Override - public String getClientDomains() { - return clientDomains; - } - - public void setClientDomains(String clientDomains) { - this.clientDomains = clientDomains; - } - - @Override - public float getClientWeight() { - return clientWeight; - } - - public void setClientWeight(float clientWeight) { - this.clientWeight = clientWeight; - } - - @Override - public Map getClientWeights() { - return clientWeights; - } - - public void setClientWeights(Map clientWeights) { - this.clientWeights = clientWeights; - } - - @Override - public String getClientToken() { - return clientToken; - } - - public void setClientToken(String clientToken) { - this.clientToken = clientToken; - } - - @Override - public Map getClientTokens() { - return clientTokens; - } - - public void setClientTokens(Map clientTokens) { - this.clientTokens = clientTokens; - } - - @Override - public String getClientCluster() { - return clientCluster; - } - - public void setClientCluster(String clientCluster) { - this.clientCluster = clientCluster; - } - - @Override - public Map getClientMetadata() { - return clientMetadata; - } - - public void setClientMetadata(Map clientMetadata) { - this.clientMetadata = clientMetadata; - } - - @Override - public String getClientIp() { - return clientIp; - } - - public void setClientIp(String clientIp) { - this.clientIp = clientIp; - } - - @Override - public String getClientInterfaceName() { - return clientInterfaceName; - } - - public void setClientInterfaceName(String clientInterfaceName) { - this.clientInterfaceName = clientInterfaceName; - } - - @Override - public int getClientPort() { - return clientPort; - } - - public void setClientPort(int clientPort) { - this.clientPort = clientPort; - } - - @Override - public String toString() { - return "AnsProperties{" + "doms='" + clientDomains + '\'' + ", weight=" - + clientWeight + ", weights=" + clientWeights + ", token='" + clientToken - + '\'' + ", tokens=" + clientTokens + ", cluster='" + clientCluster + '\'' - + ", metadata=" + clientMetadata + ", registerEnabled=" + registerEnabled - + ", ip='" + clientIp + '\'' + ", interfaceName='" + clientInterfaceName - + '\'' + ", port=" + clientPort + ", env='" + env + '\'' + ", secure=" - + secure + ", tags=" + tags + '}'; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/edas/EdasContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/edas/EdasContextAutoConfiguration.java deleted file mode 100644 index badb7ee6..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/edas/EdasContextAutoConfiguration.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.edas; - -import com.alibaba.alicloud.context.AliCloudContextAutoConfiguration; -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.cloud.context.edas.AliCloudEdasSdk; -import com.alibaba.cloud.context.edas.AliCloudEdasSdkFactory; - -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties(EdasProperties.class) -@ImportAutoConfiguration(AliCloudContextAutoConfiguration.class) -public class EdasContextAutoConfiguration { - - @Bean - @ConditionalOnMissingBean - @ConditionalOnClass(name = "com.aliyuncs.edas.model.v20170801.GetSecureTokenRequest") - public AliCloudEdasSdk aliCloudEdasSdk(AliCloudProperties aliCloudProperties, - EdasProperties edasProperties) { - return AliCloudEdasSdkFactory.getDefaultAliCloudEdasSdk(aliCloudProperties, - edasProperties.getRegionId()); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/edas/EdasProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/edas/EdasProperties.java deleted file mode 100644 index 8cc4ffe9..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/edas/EdasProperties.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.edas; - -import com.alibaba.cloud.context.edas.EdasConfiguration; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * @author xiaolongzuo - */ -@ConfigurationProperties("spring.cloud.alicloud.edas") -public class EdasProperties implements EdasConfiguration { - - private static final String DEFAULT_APPLICATION_NAME = ""; - - /** - * edas application name. - */ - @Value("${spring.application.name:${spring.cloud.alicloud.edas.application.name:}}") - private String applicationName; - - /** - * edas namespace. - */ - private String namespace; - - /** - * whether or not connect edas. - */ - private boolean enabled; - - @Override - public String getRegionId() { - if (namespace == null) { - return null; - } - return namespace.contains(":") ? namespace.split(":")[0] : namespace; - } - - @Override - public boolean isApplicationNameValid() { - return !DEFAULT_APPLICATION_NAME.equals(applicationName); - } - - @Override - public String getApplicationName() { - return applicationName; - } - - public void setApplicationName(String applicationName) { - this.applicationName = applicationName; - } - - @Override - public String getNamespace() { - return namespace; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - @Override - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/listener/AbstractOnceApplicationListener.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/listener/AbstractOnceApplicationListener.java deleted file mode 100644 index bff31292..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/listener/AbstractOnceApplicationListener.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.listener; - -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicBoolean; - -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ApplicationContextEvent; - -/** - * @author xiaolongzuo - */ -public abstract class AbstractOnceApplicationListener - implements ApplicationListener { - - private static final String BOOTSTRAP_CONFIG_NAME_VALUE = "bootstrap"; - - private static final String BOOTSTRAP_CONFIG_NAME_KEY = "spring.config.name"; - - private static ConcurrentHashMap, AtomicBoolean> lockMap = new ConcurrentHashMap<>(); - - @Override - public void onApplicationEvent(T event) { - if (event instanceof ApplicationContextEvent) { - ApplicationContext applicationContext = ((ApplicationContextEvent) event) - .getApplicationContext(); - // skip bootstrap context or super parent context. - if (BOOTSTRAP_CONFIG_NAME_VALUE.equals(applicationContext.getEnvironment() - .getProperty(BOOTSTRAP_CONFIG_NAME_KEY))) { - return; - } - } - Class clazz = getClass(); - lockMap.putIfAbsent(clazz, new AtomicBoolean(false)); - AtomicBoolean handled = lockMap.get(clazz); - // only execute once. - if (!handled.compareAndSet(false, true)) { - return; - } - if (conditionalOnClass() != null) { - try { - Class.forName(conditionalOnClass()); - } - catch (ClassNotFoundException e) { - // ignored - return; - } - } - handleEvent(event); - } - - /** - * handle event. - * @param event event - */ - protected abstract void handleEvent(T event); - - /** - * condition on class. - * @return class name - */ - protected String conditionalOnClass() { - return null; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/nacos/NacosConfigParameterInitListener.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/nacos/NacosConfigParameterInitListener.java deleted file mode 100644 index a6585a1c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/nacos/NacosConfigParameterInitListener.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.nacos; - -import com.alibaba.alicloud.context.listener.AbstractOnceApplicationListener; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; - -/** - * @author pbting - */ -public class NacosConfigParameterInitListener - extends AbstractOnceApplicationListener { - - private static final Logger log = LoggerFactory - .getLogger(NacosConfigParameterInitListener.class); - - @Override - protected String conditionalOnClass() { - return "com.alibaba.cloud.nacos.NacosConfigAutoConfiguration"; - } - - @Override - protected void handleEvent(ApplicationEnvironmentPreparedEvent event) { - preparedNacosConfiguration(); - } - - private void preparedNacosConfiguration() { - EdasChangeOrderConfiguration edasChangeOrderConfiguration = EdasChangeOrderConfigurationFactory - .getEdasChangeOrderConfiguration(); - - if (log.isDebugEnabled()) { - log.debug("Initialize Nacos Config Parameter ,is managed {}.", - edasChangeOrderConfiguration.isEdasManaged()); - } - - if (!edasChangeOrderConfiguration.isEdasManaged()) { - return; - } - - System.getProperties().setProperty("spring.cloud.nacos.config.server-mode", - "EDAS"); - // initialize nacos configuration - System.getProperties().setProperty("spring.cloud.nacos.config.server-addr", ""); - System.getProperties().setProperty("spring.cloud.nacos.config.endpoint", - edasChangeOrderConfiguration.getAddressServerDomain()); - System.getProperties().setProperty("spring.cloud.nacos.config.namespace", - edasChangeOrderConfiguration.getTenantId()); - System.getProperties().setProperty("spring.cloud.nacos.config.access-key", - edasChangeOrderConfiguration.getDauthAccessKey()); - System.getProperties().setProperty("spring.cloud.nacos.config.secret-key", - edasChangeOrderConfiguration.getDauthSecretKey()); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java deleted file mode 100644 index 145605e3..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.nacos; - -import java.util.Properties; - -import com.alibaba.alicloud.context.listener.AbstractOnceApplicationListener; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; - -/** - * @author pbting - * @date 2019-02-14 11:12 AM - */ -public class NacosDiscoveryParameterInitListener - extends AbstractOnceApplicationListener { - - private static final Logger log = LoggerFactory - .getLogger(NacosDiscoveryParameterInitListener.class); - - @Override - protected String conditionalOnClass() { - return "com.alibaba.cloud.nacos.NacosDiscoveryAutoConfiguration"; - } - - @Override - protected void handleEvent(ApplicationEnvironmentPreparedEvent event) { - EdasChangeOrderConfiguration edasChangeOrderConfiguration = EdasChangeOrderConfigurationFactory - .getEdasChangeOrderConfiguration(); - - if (log.isDebugEnabled()) { - log.debug("Initialize Nacos Discovery Parameter ,is managed {}.", - edasChangeOrderConfiguration.isEdasManaged()); - } - - if (!edasChangeOrderConfiguration.isEdasManaged()) { - return; - } - // initialize nacos configuration - Properties properties = System.getProperties(); - properties.setProperty("spring.cloud.nacos.discovery.server-mode", "EDAS"); - // step 1: set some properties for spring cloud alibaba nacos discovery - properties.setProperty("spring.cloud.nacos.discovery.server-addr", ""); - properties.setProperty("spring.cloud.nacos.discovery.endpoint", - edasChangeOrderConfiguration.getAddressServerDomain()); - properties.setProperty("spring.cloud.nacos.discovery.namespace", - edasChangeOrderConfiguration.getTenantId()); - properties.setProperty("spring.cloud.nacos.discovery.access-key", - edasChangeOrderConfiguration.getDauthAccessKey()); - properties.setProperty("spring.cloud.nacos.discovery.secret-key", - edasChangeOrderConfiguration.getDauthSecretKey()); - - // step 2: set these properties for nacos client - properties.setProperty("nacos.naming.web.context", "/vipserver"); - properties.setProperty("nacos.naming.exposed.port", "80"); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/oss/OssContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/oss/OssContextAutoConfiguration.java deleted file mode 100644 index a50e6d03..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/oss/OssContextAutoConfiguration.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.oss; - -import com.alibaba.alicloud.context.AliCloudContextAutoConfiguration; -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.cloud.context.AliCloudAuthorizationMode; -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSClientBuilder; - -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.util.Assert; -import org.springframework.util.StringUtils; - -/** - * OSS Auto {@link Configuration}. - * - * @author Jim - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnClass(name = "com.alibaba.alicloud.oss.OssAutoConfiguration") -@ConditionalOnProperty(name = "spring.cloud.alicloud.oss.enabled", matchIfMissing = true) -@EnableConfigurationProperties(OssProperties.class) -@ImportAutoConfiguration(AliCloudContextAutoConfiguration.class) -public class OssContextAutoConfiguration { - - @ConditionalOnMissingBean - @Bean - public OSS ossClient(AliCloudProperties aliCloudProperties, - OssProperties ossProperties) { - if (ossProperties.getAuthorizationMode() == AliCloudAuthorizationMode.AK_SK) { - Assert.isTrue(!StringUtils.isEmpty(ossProperties.getEndpoint()), - "Oss endpoint can't be empty."); - Assert.isTrue(!StringUtils.isEmpty(aliCloudProperties.getAccessKey()), - "${spring.cloud.alicloud.access-key} can't be empty."); - Assert.isTrue(!StringUtils.isEmpty(aliCloudProperties.getSecretKey()), - "${spring.cloud.alicloud.secret-key} can't be empty."); - return new OSSClientBuilder().build(ossProperties.getEndpoint(), - aliCloudProperties.getAccessKey(), aliCloudProperties.getSecretKey(), - ossProperties.getConfig()); - } - else if (ossProperties.getAuthorizationMode() == AliCloudAuthorizationMode.STS) { - Assert.isTrue(!StringUtils.isEmpty(ossProperties.getEndpoint()), - "Oss endpoint can't be empty."); - Assert.isTrue(!StringUtils.isEmpty(ossProperties.getSts().getAccessKey()), - "Access key can't be empty."); - Assert.isTrue(!StringUtils.isEmpty(ossProperties.getSts().getSecretKey()), - "Secret key can't be empty."); - Assert.isTrue(!StringUtils.isEmpty(ossProperties.getSts().getSecurityToken()), - "Security Token can't be empty."); - return new OSSClientBuilder().build(ossProperties.getEndpoint(), - ossProperties.getSts().getAccessKey(), - ossProperties.getSts().getSecretKey(), - ossProperties.getSts().getSecurityToken(), ossProperties.getConfig()); - } - else { - throw new IllegalArgumentException("Unknown auth mode."); - } - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/oss/OssProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/oss/OssProperties.java deleted file mode 100644 index 468a485e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/oss/OssProperties.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.oss; - -import com.alibaba.cloud.context.AliCloudAuthorizationMode; -import com.aliyun.oss.ClientBuilderConfiguration; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * {@link ConfigurationProperties} for configuring OSS. - * - * @author Jim - * @author xiaolongzuo - */ -@ConfigurationProperties("spring.cloud.alicloud.oss") -public class OssProperties { - - /** - * Authorization Mode, please see oss - * docs. - */ - @Value("${spring.cloud.alicloud.oss.authorization-mode:AK_SK}") - private AliCloudAuthorizationMode authorizationMode; - - /** - * Endpoint, please see oss - * docs. - */ - private String endpoint; - - /** - * Sts token, please see oss - * docs. - */ - private StsToken sts; - - /** - * Client Configuration, please see oss - * docs. - */ - private ClientBuilderConfiguration config; - - public AliCloudAuthorizationMode getAuthorizationMode() { - return authorizationMode; - } - - public void setAuthorizationMode(AliCloudAuthorizationMode authorizationMode) { - this.authorizationMode = authorizationMode; - } - - public ClientBuilderConfiguration getConfig() { - return config; - } - - public void setConfig(ClientBuilderConfiguration config) { - this.config = config; - } - - public String getEndpoint() { - return endpoint; - } - - public void setEndpoint(String endpoint) { - this.endpoint = endpoint; - } - - public StsToken getSts() { - return sts; - } - - public void setSts(StsToken sts) { - this.sts = sts; - } - - public static class StsToken { - - private String accessKey; - - private String secretKey; - - private String securityToken; - - public String getAccessKey() { - return accessKey; - } - - public void setAccessKey(String accessKey) { - this.accessKey = accessKey; - } - - public String getSecretKey() { - return secretKey; - } - - public void setSecretKey(String secretKey) { - this.secretKey = secretKey; - } - - public String getSecurityToken() { - return securityToken; - } - - public void setSecurityToken(String securityToken) { - this.securityToken = securityToken; - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/scx/ScxContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/scx/ScxContextAutoConfiguration.java deleted file mode 100644 index 62cc85ea..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/scx/ScxContextAutoConfiguration.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.scx; - -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration; -import com.alibaba.alicloud.context.edas.EdasProperties; -import com.alibaba.cloud.context.edas.AliCloudEdasSdk; -import com.alibaba.cloud.context.scx.AliCloudScxInitializer; -import com.alibaba.edas.schedulerx.SchedulerXClient; - -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnClass(name = "com.alibaba.alicloud.scx.ScxAutoConfiguration") -@ConditionalOnProperty(name = "spring.cloud.alicloud.scx.enabled", matchIfMissing = true) -@EnableConfigurationProperties(ScxProperties.class) -@ImportAutoConfiguration(EdasContextAutoConfiguration.class) -public class ScxContextAutoConfiguration { - - @Bean(initMethod = "init") - @ConditionalOnMissingBean - public SchedulerXClient schedulerXClient(AliCloudProperties aliCloudProperties, - EdasProperties edasProperties, ScxProperties scxProperties, - AliCloudEdasSdk aliCloudEdasSdk) { - return AliCloudScxInitializer.initialize(aliCloudProperties, edasProperties, - scxProperties, aliCloudEdasSdk); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/scx/ScxProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/scx/ScxProperties.java deleted file mode 100644 index 1fdce76d..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/scx/ScxProperties.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.scx; - -import com.alibaba.cloud.context.scx.ScxConfiguration; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * @author xiaolongzuo - */ -@ConfigurationProperties("spring.cloud.alicloud.scx") -public class ScxProperties implements ScxConfiguration { - - /** - * Group id, please see scx - * docs. - */ - private String groupId; - - /** - * Domain name, please see scx - * docs. - */ - private String domainName; - - @Override - public String getGroupId() { - return groupId; - } - - public void setGroupId(String groupId) { - this.groupId = groupId; - } - - @Override - public String getDomainName() { - return domainName; - } - - public void setDomainName(String domainName) { - this.domainName = domainName; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sentinel/SentinelAliCloudListener.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sentinel/SentinelAliCloudListener.java deleted file mode 100644 index 29dc9637..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sentinel/SentinelAliCloudListener.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.sentinel; - -import com.alibaba.alicloud.context.Constants; -import com.alibaba.alicloud.context.listener.AbstractOnceApplicationListener; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; - -/** - * @author Jim - */ -public class SentinelAliCloudListener - extends AbstractOnceApplicationListener { - - private static final Logger logger = LoggerFactory - .getLogger(SentinelAliCloudListener.class); - - @Override - protected void handleEvent(ApplicationEnvironmentPreparedEvent event) { - EdasChangeOrderConfiguration edasChangeOrderConfiguration = EdasChangeOrderConfigurationFactory - .getEdasChangeOrderConfiguration(); - logger.info("Sentinel Nacos datasource will" - + (edasChangeOrderConfiguration.isEdasManaged() ? " be " : " not be ") - + "changed by edas change order."); - if (!edasChangeOrderConfiguration.isEdasManaged()) { - return; - } - System.getProperties().setProperty(Constants.Sentinel.NACOS_DATASOURCE_ENDPOINT, - edasChangeOrderConfiguration.getAddressServerDomain()); - System.getProperties().setProperty(Constants.Sentinel.NACOS_DATASOURCE_NAMESPACE, - edasChangeOrderConfiguration.getTenantId()); - System.getProperties().setProperty(Constants.Sentinel.NACOS_DATASOURCE_AK, - edasChangeOrderConfiguration.getDauthAccessKey()); - System.getProperties().setProperty(Constants.Sentinel.NACOS_DATASOURCE_SK, - edasChangeOrderConfiguration.getDauthSecretKey()); - System.getProperties().setProperty(Constants.Sentinel.PROJECT_NAME, - edasChangeOrderConfiguration.getProjectName()); - } - - @Override - protected String conditionalOnClass() { - return "com.alibaba.csp.sentinel.datasource.nacos.NacosDataSource"; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sms/SmsContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sms/SmsContextAutoConfiguration.java deleted file mode 100644 index dd49c578..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sms/SmsContextAutoConfiguration.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.sms; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -/** - * @author pbting - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties(SmsProperties.class) -@ConditionalOnClass(name = "com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest") -@ConditionalOnProperty(name = "spring.cloud.alicloud.sms.enabled", matchIfMissing = true) -public class SmsContextAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sms/SmsProperties.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sms/SmsProperties.java deleted file mode 100644 index 3f1fc961..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/sms/SmsProperties.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.sms; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * @author pbting - * @author xiaolongzuo - */ -@ConfigurationProperties(prefix = "spring.cloud.alicloud.sms") -public class SmsProperties { - - /** - * Product name. - */ - public static final String SMS_PRODUCT = "Dysmsapi"; - - /** - * Product domain. - */ - public static final String SMS_DOMAIN = "dysmsapi.aliyuncs.com"; - - /** - * Report queue name. - */ - private String reportQueueName; - - /** - * Up queue name. - */ - private String upQueueName; - - /** - * Connect timeout. - */ - private String connectTimeout = "10000"; - - /** - * Read timeout. - */ - private String readTimeout = "10000"; - - public String getConnectTimeout() { - return connectTimeout; - } - - public void setConnectTimeout(String connectTimeout) { - this.connectTimeout = connectTimeout; - } - - public String getReadTimeout() { - return readTimeout; - } - - public void setReadTimeout(String readTimeout) { - this.readTimeout = readTimeout; - } - - public String getReportQueueName() { - return reportQueueName; - } - - public void setReportQueueName(String reportQueueName) { - this.reportQueueName = reportQueueName; - } - - public String getUpQueueName() { - return upQueueName; - } - - public void setUpQueueName(String upQueueName) { - this.upQueueName = upQueueName; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/statistics/StatisticsTaskStarter.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/statistics/StatisticsTaskStarter.java deleted file mode 100644 index 412f8c11..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/statistics/StatisticsTaskStarter.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.statistics; - -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.alicloud.context.acm.AcmContextBootstrapConfiguration; -import com.alibaba.alicloud.context.acm.AcmProperties; -import com.alibaba.alicloud.context.ans.AnsContextAutoConfiguration; -import com.alibaba.alicloud.context.ans.AnsProperties; -import com.alibaba.alicloud.context.edas.EdasProperties; -import com.alibaba.alicloud.context.oss.OssContextAutoConfiguration; -import com.alibaba.alicloud.context.oss.OssProperties; -import com.alibaba.alicloud.context.scx.ScxContextAutoConfiguration; -import com.alibaba.alicloud.context.scx.ScxProperties; -import com.alibaba.cloud.context.AliCloudServerMode; -import com.alibaba.cloud.context.edas.AliCloudEdasSdk; -import com.alibaba.cloud.context.statistics.StatisticsTask; - -import org.springframework.beans.factory.InitializingBean; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@AutoConfigureAfter({ ScxContextAutoConfiguration.class, - OssContextAutoConfiguration.class, AnsContextAutoConfiguration.class, - AcmContextBootstrapConfiguration.class }) -public class StatisticsTaskStarter implements InitializingBean { - - private static final String NACOS_CONFIG_SERVER_MODE_KEY = "spring.cloud.nacos.config.server-mode"; - - private static final String NACOS_DISCOVERY_SERVER_MODE_KEY = "spring.cloud.nacos.discovery.server-mode"; - - private static final String NACOS_SERVER_MODE_VALUE = "EDAS"; - - @Autowired(required = false) - private AliCloudEdasSdk aliCloudEdasSdk; - - @Autowired(required = false) - private EdasProperties edasProperties; - - @Autowired(required = false) - private ScxProperties scxProperties; - - @Autowired(required = false) - private OssProperties ossProperties; - - @Autowired(required = false) - private AnsProperties ansProperties; - - @Autowired(required = false) - private AcmProperties acmProperties; - - @Autowired(required = false) - private ScxContextAutoConfiguration scxContextAutoConfiguration; - - @Autowired(required = false) - private OssContextAutoConfiguration ossContextAutoConfiguration; - - @Autowired(required = false) - private AnsContextAutoConfiguration ansContextAutoConfiguration; - - @Autowired(required = false) - private AcmContextBootstrapConfiguration acmContextBootstrapConfiguration; - - @Override - public void afterPropertiesSet() { - StatisticsTask statisticsTask = new StatisticsTask(aliCloudEdasSdk, - edasProperties, getComponents()); - statisticsTask.start(); - } - - private List getComponents() { - List components = new ArrayList<>(); - if (scxContextAutoConfiguration != null && scxProperties != null) { - components.add("SC-SCX"); - } - if (ossContextAutoConfiguration != null && ossProperties != null) { - components.add("SC-OSS"); - } - boolean edasEnabled = edasProperties != null && edasProperties.isEnabled(); - boolean ansEnableEdas = edasEnabled || (ansProperties != null - && ansProperties.getServerMode() == AliCloudServerMode.EDAS); - if (ansContextAutoConfiguration != null && ansEnableEdas) { - components.add("SC-ANS"); - } - boolean acmEnableEdas = edasEnabled || (acmProperties != null - && acmProperties.getServerMode() == AliCloudServerMode.EDAS); - if (acmContextBootstrapConfiguration != null && acmEnableEdas) { - components.add("SC-ACM"); - } - if (NACOS_SERVER_MODE_VALUE - .equals(System.getProperty(NACOS_CONFIG_SERVER_MODE_KEY))) { - components.add("SC-NACOS-CONFIG"); - } - if (NACOS_SERVER_MODE_VALUE - .equals(System.getProperty(NACOS_DISCOVERY_SERVER_MODE_KEY))) { - components.add("SC-NACOS-DISCOVERY"); - } - return components; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/resources/META-INF/additional-spring-configuration-metadata.json deleted file mode 100644 index 2b81aad2..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "properties": [ - { - "name": "spring.cloud.alicloud.ans.client-domains", - "type": "java.lang.String", - "defaultValue": "", - "description": "Service name list, default value is ${spring.application.name}." - }, - { - "name": "spring.cloud.alicloud.ans.env", - "type": "java.lang.String", - "defaultValue": "DEFAULT", - "description": "The env for ans, default value is DEFAULT." - } - ] -} \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 8c6c9957..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,15 +0,0 @@ -org.springframework.cloud.bootstrap.BootstrapConfiguration=\ - com.alibaba.alicloud.context.acm.AcmContextBootstrapConfiguration -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.alibaba.alicloud.context.AliCloudContextAutoConfiguration,\ - com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration,\ - com.alibaba.alicloud.context.ans.AnsContextAutoConfiguration,\ - com.alibaba.alicloud.context.oss.OssContextAutoConfiguration,\ - com.alibaba.alicloud.context.scx.ScxContextAutoConfiguration,\ - com.alibaba.alicloud.context.statistics.StatisticsTaskStarter,\ - com.alibaba.alicloud.context.sms.SmsContextAutoConfiguration -org.springframework.context.ApplicationListener=\ - com.alibaba.alicloud.context.ans.AnsContextApplicationListener,\ - com.alibaba.alicloud.context.nacos.NacosConfigParameterInitListener,\ - com.alibaba.alicloud.context.nacos.NacosDiscoveryParameterInitListener,\ - com.alibaba.alicloud.context.sentinel.SentinelAliCloudListener \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/acm/AcmAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/acm/AcmAutoConfiguration.java deleted file mode 100644 index 93810221..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/acm/AcmAutoConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm; - -/** - * @author xiaolongzuo - */ -public class AcmAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/ans/AnsAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/ans/AnsAutoConfiguration.java deleted file mode 100644 index 9f472639..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/ans/AnsAutoConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -/** - * @author xiaolongzuo - */ -public class AnsAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/AliCloudPropertiesTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/AliCloudPropertiesTests.java deleted file mode 100644 index e2b1d51c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/AliCloudPropertiesTests.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context; - -import org.junit.Test; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -/** - * @author xiaolongzuo - */ -public class AliCloudPropertiesTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(AliCloudContextAutoConfiguration.class)); - - @Test - public void testConfigurationValueDefaultsAreAsExpected() { - this.contextRunner.run(context -> { - AliCloudProperties aliCloudProperties = context - .getBean(AliCloudProperties.class); - assertThat(aliCloudProperties.getAccessKey()).isNull(); - assertThat(aliCloudProperties.getSecretKey()).isNull(); - }); - } - - @Test - public void testConfigurationValuesAreCorrectlyLoaded() { - this.contextRunner.withPropertyValues("spring.cloud.alicloud.access-key=123", - "spring.cloud.alicloud.secret-key=123456").run(context -> { - AliCloudProperties aliCloudProperties = context - .getBean(AliCloudProperties.class); - assertThat(aliCloudProperties.getAccessKey()).isEqualTo("123"); - assertThat(aliCloudProperties.getSecretKey()).isEqualTo("123456"); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/BaseAliCloudSpringApplication.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/BaseAliCloudSpringApplication.java deleted file mode 100644 index 9634b647..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/BaseAliCloudSpringApplication.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context; - -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.modules.junit4.PowerMockRunnerDelegate; - -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -/** - * @author xiaolongzuo - */ -@RunWith(PowerMockRunner.class) -@PowerMockRunnerDelegate(SpringRunner.class) -@PowerMockIgnore("javax.management.*") -@SpringBootTest(classes = BaseAliCloudSpringApplication.AliCloudApplication.class, - properties = { "spring.application.name=myapp", - "spring.cloud.alicloud.edas.application.name=myapp", - "spring.cloud.alicloud.access-key=ak", - "spring.cloud.alicloud.secret-key=sk", - "spring.cloud.alicloud.oss.endpoint=test", - "spring.cloud.alicloud.scx.group-id=1-2-3-4", - "spring.cloud.alicloud.edas.namespace=cn-test", - "spring.cloud.alicloud.ans.server-list=192.168.1.100", - "spring.cloud.alicloud.ans.server-port=8888", - "spring.cloud.alicloud.oss.enabled=false", - "spring.cloud.alicloud.scx.enabled=false" }) -public abstract class BaseAliCloudSpringApplication { - - @SpringBootApplication - public static class AliCloudApplication { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/acm/AcmPropertiesTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/acm/AcmPropertiesTests.java deleted file mode 100644 index 55339edb..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/acm/AcmPropertiesTests.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.acm; - -import com.alibaba.alicloud.context.AliCloudContextAutoConfiguration; -import com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration; -import com.alibaba.cloud.context.AliCloudServerMode; -import org.junit.Test; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; - -/** - * @author xiaolongzuo - */ -public class AcmPropertiesTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(AcmContextBootstrapConfiguration.class, - EdasContextAutoConfiguration.class, - AliCloudContextAutoConfiguration.class)); - - @Test - public void testConfigurationValueDefaultsAreAsExpected() { - this.contextRunner.withPropertyValues("spring.application.name=myapp") - .run(context -> { - AcmProperties config = context.getBean(AcmProperties.class); - assertThat(config.getServerMode()) - .isEqualTo(AliCloudServerMode.LOCAL); - assertThat(config.getServerList()).isEqualTo("127.0.0.1"); - assertThat(config.getServerPort()).isEqualTo("8080"); - assertThat(config.getEndpoint()).isNull(); - assertThat(config.getFileExtension()).isEqualTo("properties"); - assertThat(config.getGroup()).isEqualTo("DEFAULT_GROUP"); - assertThat(config.getNamespace()).isNull(); - assertThat(config.getRamRoleName()).isNull(); - assertThat(config.getTimeout()).isEqualTo(3000); - }); - } - - @Test - public void testConfigurationValuesAreCorrectlyLoaded() { - this.contextRunner.withPropertyValues("spring.application.name=myapp", - "spring.cloud.alicloud.access-key=ak", - "spring.cloud.alicloud.secret-key=sk", - "spring.cloud.alicloud.acm.server-mode=EDAS", - "spring.cloud.alicloud.acm.server-port=11111", - "spring.cloud.alicloud.acm.server-list=10.10.10.10", - "spring.cloud.alicloud.acm.namespace=testNamespace", - "spring.cloud.alicloud.acm.endpoint=testDomain", - "spring.cloud.alicloud.acm.group=testGroup", - "spring.cloud.alicloud.acm.file-extension=yaml").run(context -> { - AcmProperties acmProperties = context.getBean(AcmProperties.class); - assertThat(acmProperties.getServerMode()) - .isEqualTo(AliCloudServerMode.EDAS); - assertThat(acmProperties.getServerList()).isEqualTo("10.10.10.10"); - assertThat(acmProperties.getServerPort()).isEqualTo("11111"); - assertThat(acmProperties.getEndpoint()).isEqualTo("testDomain"); - assertThat(acmProperties.getGroup()).isEqualTo("testGroup"); - assertThat(acmProperties.getFileExtension()).isEqualTo("yaml"); - assertThat(acmProperties.getNamespace()).isEqualTo("testNamespace"); - }); - } - - @Test - public void testAcmIntegrationConfigurationValuesAreCorrectlyLoaded() { - this.contextRunner.withPropertyValues("spring.application.name=myapp", - "spring.application.group=com.alicloud.test", - "spring.cloud.alicloud.access-key=ak", - "spring.cloud.alicloud.secret-key=sk", - "spring.cloud.alicloud.acm.server-mode=EDAS", - "spring.cloud.alicloud.acm.server-port=11111", - "spring.cloud.alicloud.acm.server-list=10.10.10.10", - "spring.cloud.alicloud.acm.namespace=testNamespace", - "spring.cloud.alicloud.acm.endpoint=testDomain", - "spring.cloud.alicloud.acm.group=testGroup", - "spring.cloud.alicloud.acm.file-extension=yaml").run(context -> { - AcmIntegrationProperties acmIntegrationProperties = context - .getBean(AcmIntegrationProperties.class); - assertThat(acmIntegrationProperties.getGroupConfigurationDataIds() - .size()).isEqualTo(2); - assertThat(acmIntegrationProperties - .getApplicationConfigurationDataIds().size()).isEqualTo(2); - }); - } - - @Test - public void testAcmIntegrationConfigurationValuesAreCorrectlyLoaded2() { - this.contextRunner.withPropertyValues("spring.application.name=myapp", - "spring.application.group=com.alicloud.test", - "spring.profiles.active=profile1,profile2", - "spring.cloud.alicloud.access-key=ak", - "spring.cloud.alicloud.secret-key=sk", - "spring.cloud.alicloud.acm.server-mode=EDAS", - "spring.cloud.alicloud.acm.server-port=11111", - "spring.cloud.alicloud.acm.server-list=10.10.10.10", - "spring.cloud.alicloud.acm.namespace=testNamespace", - "spring.cloud.alicloud.acm.endpoint=testDomain", - "spring.cloud.alicloud.acm.group=testGroup", - "spring.cloud.alicloud.acm.file-extension=yaml").run(context -> { - AcmIntegrationProperties acmIntegrationProperties = context - .getBean(AcmIntegrationProperties.class); - assertThat(acmIntegrationProperties.getGroupConfigurationDataIds() - .size()).isEqualTo(2); - assertThat(acmIntegrationProperties - .getApplicationConfigurationDataIds().size()).isEqualTo(6); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/ans/AnsContextApplicationListenerTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/ans/AnsContextApplicationListenerTests.java deleted file mode 100644 index f39f2ff6..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/ans/AnsContextApplicationListenerTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.ans; - -import com.alibaba.alicloud.context.BaseAliCloudSpringApplication; -import org.junit.Test; - -import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; - -/** - * @author xiaolongzuo - */ -public class AnsContextApplicationListenerTests extends BaseAliCloudSpringApplication { - - @Test - public void testAnsContextApplicationListenerDefault() { - assertThat(System - .getProperty("com.alibaba.ans.shaded.com.taobao.vipserver.serverlist")) - .isEqualTo("192.168.1.100"); - assertThat(System.getProperty("vipserver.server.port")).isEqualTo("8888"); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/ans/AnsPropertiesTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/ans/AnsPropertiesTests.java deleted file mode 100644 index 3b7859e2..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/ans/AnsPropertiesTests.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.ans; - -import java.net.Inet4Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.Vector; - -import com.alibaba.alicloud.context.AliCloudContextAutoConfiguration; -import com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration; -import com.alibaba.cloud.context.AliCloudServerMode; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; - -/** - * @author xiaolongzuo - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({ NetworkInterface.class, AnsProperties.class }) -public class AnsPropertiesTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(AnsContextAutoConfiguration.class, - EdasContextAutoConfiguration.class, - AliCloudContextAutoConfiguration.class)); - - @Test - public void testConfigurationValueDefaultsAreAsExpected() { - this.contextRunner.withPropertyValues().run(context -> { - AnsProperties ansProperties = context.getBean(AnsProperties.class); - assertThat(ansProperties.getServerMode()).isEqualTo(AliCloudServerMode.LOCAL); - assertThat(ansProperties.getServerList()).isEqualTo("127.0.0.1"); - assertThat(ansProperties.getServerPort()).isEqualTo("8080"); - assertThat(ansProperties.getClientDomains()).isEqualTo(""); - assertThat(ansProperties.getClientWeight()).isEqualTo(1.0F); - assertThat(ansProperties.getClientWeights().size()).isEqualTo(0); - assertThat(ansProperties.getClientTokens().size()).isEqualTo(0); - assertThat(ansProperties.getClientMetadata().size()).isEqualTo(0); - assertThat(ansProperties.getClientToken()).isNull(); - assertThat(ansProperties.getClientCluster()).isEqualTo("DEFAULT"); - assertThat(ansProperties.isRegisterEnabled()).isTrue(); - assertThat(ansProperties.getClientInterfaceName()).isNull(); - assertThat(ansProperties.getClientPort()).isEqualTo(-1); - assertThat(ansProperties.getEnv()).isEqualTo("DEFAULT"); - assertThat(ansProperties.isSecure()).isFalse(); - assertThat(ansProperties.getTags().size()).isEqualTo(1); - assertThat(ansProperties.getTags().keySet().iterator().next()) - .isEqualTo("ANS_SERVICE_TYPE"); - assertThat(ansProperties.getTags().get("ANS_SERVICE_TYPE")) - .isEqualTo("SPRING_CLOUD"); - }); - } - - @Test - public void testConfigurationValuesAreCorrectlyLoaded1() { - this.contextRunner - .withPropertyValues("spring.cloud.alicloud.ans.server-mode=EDAS", - "spring.cloud.alicloud.ans.server-port=11111", - "spring.cloud.alicloud.ans.server-list=10.10.10.10", - "spring.cloud.alicloud.ans.client-domains=testDomain", - "spring.cloud.alicloud.ans.client-weight=0.9", - "spring.cloud.alicloud.ans.client-weights.testDomain=0.9") - .run(context -> { - AnsProperties ansProperties = context.getBean(AnsProperties.class); - assertThat(ansProperties.getServerMode()) - .isEqualTo(AliCloudServerMode.EDAS); - assertThat(ansProperties.getServerList()).isEqualTo("10.10.10.10"); - assertThat(ansProperties.getServerPort()).isEqualTo("11111"); - assertThat(ansProperties.getClientDomains()).isEqualTo("testDomain"); - assertThat(ansProperties.getClientWeight()).isEqualTo(0.9F); - assertThat(ansProperties.getClientWeights().size()).isEqualTo(1); - assertThat(ansProperties.getClientTokens().size()).isEqualTo(0); - assertThat(ansProperties.getClientMetadata().size()).isEqualTo(0); - assertThat(ansProperties.getClientToken()).isNull(); - assertThat(ansProperties.getClientCluster()).isEqualTo("DEFAULT"); - assertThat(ansProperties.isRegisterEnabled()).isTrue(); - assertThat(ansProperties.getClientInterfaceName()).isNull(); - assertThat(ansProperties.getClientPort()).isEqualTo(-1); - assertThat(ansProperties.getEnv()).isEqualTo("DEFAULT"); - assertThat(ansProperties.isSecure()).isFalse(); - assertThat(ansProperties.getTags().size()).isEqualTo(1); - assertThat(ansProperties.getTags().keySet().iterator().next()) - .isEqualTo("ANS_SERVICE_TYPE"); - assertThat(ansProperties.getTags().get("ANS_SERVICE_TYPE")) - .isEqualTo("SPRING_CLOUD"); - }); - } - - @Test(expected = RuntimeException.class) - public void testConfigurationValuesAreCorrectlyLoaded2() { - this.contextRunner.withPropertyValues( - "spring.cloud.alicloud.ans.client-interface-name=noneinterfacename") - .run(context -> { - AnsProperties ansProperties = context.getBean(AnsProperties.class); - assertThat(ansProperties.getClientInterfaceName()) - .isEqualTo("noneinterfacename"); - }); - } - - // @Test - public void testConfigurationValuesAreCorrectlyLoaded3() throws SocketException { - NetworkInterface networkInterface = PowerMockito.mock(NetworkInterface.class); - Vector inetAddressList = new Vector<>(); - Inet4Address inetAddress = PowerMockito.mock(Inet4Address.class); - PowerMockito.when(inetAddress.getHostAddress()).thenReturn("192.168.1.100"); - inetAddressList.add(inetAddress); - PowerMockito.when(networkInterface.getInetAddresses()) - .thenReturn(inetAddressList.elements()); - PowerMockito.mockStatic(NetworkInterface.class); - PowerMockito.when(NetworkInterface.getByName("eth0")) - .thenReturn(networkInterface); - this.contextRunner - .withPropertyValues( - "spring.cloud.alicloud.ans.client-interface-name=eth0") - .run(context -> { - AnsProperties ansProperties = context.getBean(AnsProperties.class); - assertThat(ansProperties.getClientInterfaceName()).isEqualTo("eth0"); - assertThat(ansProperties.getClientIp()).isEqualTo("192.168.1.100"); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/edas/EdasPropertiesTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/edas/EdasPropertiesTests.java deleted file mode 100644 index bc338033..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/edas/EdasPropertiesTests.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.edas; - -import com.alibaba.alicloud.context.AliCloudContextAutoConfiguration; -import org.junit.Test; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -/** - * @author xiaolongzuo - */ -public class EdasPropertiesTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(EdasContextAutoConfiguration.class, - AliCloudContextAutoConfiguration.class)); - - @Test - public void testConfigurationValueDefaultsAreAsExpected() { - this.contextRunner.withPropertyValues().run(context -> { - EdasProperties edasProperties = context.getBean(EdasProperties.class); - assertThat(edasProperties.getNamespace()).isNull(); - assertThat(edasProperties.isApplicationNameValid()).isFalse(); - }); - } - - @Test - public void testConfigurationValuesAreCorrectlyLoaded1() { - this.contextRunner - .withPropertyValues("spring.cloud.alicloud.edas.namespace=testns", - "spring.application.name=myapps") - .run(context -> { - EdasProperties edasProperties = context.getBean(EdasProperties.class); - assertThat(edasProperties.getNamespace()).isEqualTo("testns"); - assertThat(edasProperties.getApplicationName()).isEqualTo("myapps"); - }); - } - - @Test - public void testConfigurationValuesAreCorrectlyLoaded2() { - this.contextRunner - .withPropertyValues("spring.cloud.alicloud.edas.namespace=testns", - "spring.cloud.alicloud.edas.application.name=myapps") - .run(context -> { - EdasProperties edasProperties = context.getBean(EdasProperties.class); - assertThat(edasProperties.getNamespace()).isEqualTo("testns"); - assertThat(edasProperties.getApplicationName()).isEqualTo("myapps"); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/nacos/NacosConfigParameterInitListenerTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/nacos/NacosConfigParameterInitListenerTests.java deleted file mode 100644 index 221e1ff2..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/nacos/NacosConfigParameterInitListenerTests.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.nacos; - -import com.alibaba.alicloud.context.BaseAliCloudSpringApplication; -import com.alibaba.alicloud.utils.ChangeOrderUtils; -import com.alibaba.cloud.context.ans.AliCloudAnsInitializer; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.junit.BeforeClass; -import org.junit.Test; -import org.powermock.core.classloader.annotations.PrepareForTest; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -/** - * @author xiaolongzuo - */ -@PrepareForTest({ EdasChangeOrderConfigurationFactory.class, - NacosConfigParameterInitListener.class, AliCloudAnsInitializer.class }) -public class NacosConfigParameterInitListenerTests extends BaseAliCloudSpringApplication { - - @BeforeClass - public static void setUp() { - ChangeOrderUtils.mockChangeOrder(); - } - - @Test - public void testNacosParameterInitListener() { - assertThat(System.getProperty("spring.cloud.nacos.config.server-mode")) - .isEqualTo("EDAS"); - assertThat(System.getProperty("spring.cloud.nacos.config.server-addr")) - .isEqualTo(""); - assertThat(System.getProperty("spring.cloud.nacos.config.endpoint")) - .isEqualTo("testDomain"); - assertThat(System.getProperty("spring.cloud.nacos.config.namespace")) - .isEqualTo("testTenantId"); - assertThat(System.getProperty("spring.cloud.nacos.config.access-key")) - .isEqualTo("testAK"); - assertThat(System.getProperty("spring.cloud.nacos.config.secret-key")) - .isEqualTo("testSK"); - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java deleted file mode 100644 index 35d1489e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.nacos; - -import com.alibaba.alicloud.context.BaseAliCloudSpringApplication; -import com.alibaba.alicloud.utils.ChangeOrderUtils; -import com.alibaba.cloud.context.ans.AliCloudAnsInitializer; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.junit.BeforeClass; -import org.junit.Test; -import org.powermock.core.classloader.annotations.PrepareForTest; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -/** - * @author xiaolongzuo - */ -@PrepareForTest({ EdasChangeOrderConfigurationFactory.class, - NacosDiscoveryParameterInitListener.class, AliCloudAnsInitializer.class }) -public class NacosDiscoveryParameterInitListenerTests - extends BaseAliCloudSpringApplication { - - @BeforeClass - public static void setUp() { - ChangeOrderUtils.mockChangeOrder(); - } - - @Test - public void testNacosParameterInitListener() { - assertThat(System.getProperty("spring.cloud.nacos.discovery.server-mode")) - .isEqualTo("EDAS"); - assertThat(System.getProperty("spring.cloud.nacos.discovery.server-addr")) - .isEqualTo(""); - assertThat(System.getProperty("spring.cloud.nacos.discovery.endpoint")) - .isEqualTo("testDomain"); - assertThat(System.getProperty("spring.cloud.nacos.discovery.namespace")) - .isEqualTo("testTenantId"); - assertThat(System.getProperty("spring.cloud.nacos.discovery.access-key")) - .isEqualTo("testAK"); - assertThat(System.getProperty("spring.cloud.nacos.discovery.secret-key")) - .isEqualTo("testSK"); - assertThat(System.getProperties().getProperty("nacos.naming.web.context")) - .isEqualTo("/vipserver"); - assertThat(System.getProperties().getProperty("nacos.naming.exposed.port")) - .isEqualTo("80"); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/oss/OssAutoConfigurationTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/oss/OssAutoConfigurationTests.java deleted file mode 100644 index 0772e30e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/oss/OssAutoConfigurationTests.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.oss; - -import com.alibaba.alicloud.context.AliCloudProperties; -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSClient; -import org.junit.Test; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * {@link OSS} {@link OssProperties} Test. - * - * @author Jim - */ -public class OssAutoConfigurationTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(OssContextAutoConfiguration.class)) - .withPropertyValues("spring.cloud.alicloud.accessKey=your-ak", - "spring.cloud.alicloud.secretKey=your-sk", - "spring.cloud.alicloud.oss.endpoint=http://oss-cn-beijing.aliyuncs.com", - "spring.cloud.alicloud.oss.config.userAgent=alibaba", - "spring.cloud.alicloud.oss.sts.access-key=your-sts-ak", - "spring.cloud.alicloud.oss.sts.secret-key=your-sts-sk", - "spring.cloud.alicloud.oss.sts.security-token=your-sts-token"); - - @Test - public void testOSSProperties() { - this.contextRunner.run(context -> { - assertThat(context.getBeansOfType(OssProperties.class).size() == 1).isTrue(); - AliCloudProperties aliCloudProperties = context - .getBean(AliCloudProperties.class); - OssProperties ossProperties = context.getBean(OssProperties.class); - assertThat(aliCloudProperties.getAccessKey()).isEqualTo("your-ak"); - assertThat(aliCloudProperties.getSecretKey()).isEqualTo("your-sk"); - assertThat(ossProperties.getEndpoint()) - .isEqualTo("http://oss-cn-beijing.aliyuncs.com"); - assertThat(ossProperties.getConfig().getUserAgent()).isEqualTo("alibaba"); - assertThat(ossProperties.getSts().getAccessKey()).isEqualTo("your-sts-ak"); - assertThat(ossProperties.getSts().getSecretKey()).isEqualTo("your-sts-sk"); - assertThat(ossProperties.getSts().getSecurityToken()) - .isEqualTo("your-sts-token"); - }); - } - - @Test - public void testOSSClient1() { - this.contextRunner.run(context -> { - assertThat(context.getBeansOfType(OSS.class).size() == 1).isTrue(); - assertThat(context.getBeanNamesForType(OSS.class)[0]).isEqualTo("ossClient"); - OSSClient ossClient = (OSSClient) context.getBean(OSS.class); - assertThat(ossClient.getEndpoint().toString()) - .isEqualTo("http://oss-cn-beijing.aliyuncs.com"); - assertThat(ossClient.getClientConfiguration().getUserAgent()) - .isEqualTo("alibaba"); - assertThat( - ossClient.getCredentialsProvider().getCredentials().getAccessKeyId()) - .isEqualTo("your-ak"); - assertThat(ossClient.getCredentialsProvider().getCredentials() - .getSecretAccessKey()).isEqualTo("your-sk"); - }); - } - - @Test - public void testOSSClient2() { - this.contextRunner - .withPropertyValues("spring.cloud.alicloud.oss.authorization-mode=STS") - .run(context -> { - assertThat(context.getBeansOfType(OSS.class).size() == 1).isTrue(); - assertThat(context.getBeanNamesForType(OSS.class)[0]) - .isEqualTo("ossClient"); - OSSClient ossClient = (OSSClient) context.getBean(OSS.class); - assertThat(ossClient.getEndpoint().toString()) - .isEqualTo("http://oss-cn-beijing.aliyuncs.com"); - assertThat(ossClient.getClientConfiguration().getUserAgent()) - .isEqualTo("alibaba"); - assertThat(ossClient.getCredentialsProvider().getCredentials() - .getAccessKeyId()).isEqualTo("your-sts-ak"); - assertThat(ossClient.getCredentialsProvider().getCredentials() - .getSecretAccessKey()).isEqualTo("your-sts-sk"); - assertThat(ossClient.getCredentialsProvider().getCredentials() - .getSecurityToken()).isEqualTo("your-sts-token"); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/scx/ScxAutoConfigurationTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/scx/ScxAutoConfigurationTests.java deleted file mode 100644 index ce3f78ac..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/scx/ScxAutoConfigurationTests.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.scx; - -import com.alibaba.alicloud.context.edas.EdasProperties; -import org.junit.Test; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * @author xiaolongzuo - */ -public class ScxAutoConfigurationTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(ScxContextAutoConfiguration.class)) - .withPropertyValues("spring.cloud.alicloud.scx.group-id=1-2-3-4") - .withPropertyValues("spring.cloud.alicloud.edas.namespace=cn-test"); - - @Test - public void testSxcProperties() { - this.contextRunner.run(context -> { - assertThat(context.getBeansOfType(ScxProperties.class).size() == 1).isTrue(); - EdasProperties edasProperties = context.getBean(EdasProperties.class); - ScxProperties scxProperties = context.getBean(ScxProperties.class); - assertThat(scxProperties.getGroupId()).isEqualTo("1-2-3-4"); - assertThat(edasProperties.getNamespace()).isEqualTo("cn-test"); - assertThat(scxProperties.getDomainName()).isNull(); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/sentinel/SentinelAliCloudListenerTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/sentinel/SentinelAliCloudListenerTests.java deleted file mode 100644 index 389361d6..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/sentinel/SentinelAliCloudListenerTests.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.sentinel; - -import com.alibaba.alicloud.context.BaseAliCloudSpringApplication; -import com.alibaba.alicloud.context.Constants; -import com.alibaba.alicloud.utils.ChangeOrderUtils; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.junit.BeforeClass; -import org.junit.Test; -import org.powermock.core.classloader.annotations.PrepareForTest; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - -/** - * @author xiaolongzuo - */ -@PrepareForTest({ EdasChangeOrderConfigurationFactory.class, - SentinelAliCloudListener.class }) -public class SentinelAliCloudListenerTests extends BaseAliCloudSpringApplication { - - @BeforeClass - public static void setUp() { - ChangeOrderUtils.mockChangeOrder(); - } - - @Test - public void testNacosParameterInitListener() { - assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_ENDPOINT)) - .isEqualTo("testDomain"); - assertThat(System.getProperty(Constants.Sentinel.PROJECT_NAME)) - .isEqualTo("testProjectName"); - assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_NAMESPACE)) - .isEqualTo("testTenantId"); - assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_AK)) - .isEqualTo("testAK"); - assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_SK)) - .isEqualTo("testSK"); - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/sms/SmsPropertiesTests.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/sms/SmsPropertiesTests.java deleted file mode 100644 index b3c674e6..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/context/sms/SmsPropertiesTests.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.context.sms; - -import com.alibaba.alicloud.context.AliCloudContextAutoConfiguration; -import com.alibaba.alicloud.context.edas.EdasContextAutoConfiguration; -import org.junit.Test; - -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; - -/** - * @author xiaolongzuo - */ -public class SmsPropertiesTests { - - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(SmsContextAutoConfiguration.class, - EdasContextAutoConfiguration.class, - AliCloudContextAutoConfiguration.class)); - - @Test - public void testConfigurationValueDefaultsAreAsExpected() { - this.contextRunner.run(context -> { - SmsProperties config = context.getBean(SmsProperties.class); - assertThat(config.getReportQueueName()).isNull(); - assertThat(config.getUpQueueName()).isNull(); - assertThat(config.getConnectTimeout()).isEqualTo("10000"); - assertThat(config.getReadTimeout()).isEqualTo("10000"); - }); - } - - @Test - public void testConfigurationValuesAreCorrectlyLoaded() { - this.contextRunner - .withPropertyValues("spring.cloud.alicloud.sms.reportQueueName=q1", - "spring.cloud.alicloud.sms.upQueueName=q2", - "spring.cloud.alicloud.sms.connect-timeout=20", - "spring.cloud.alicloud.sms.read-timeout=30") - .run(context -> { - SmsProperties config = context.getBean(SmsProperties.class); - assertThat(config.getReportQueueName()).isEqualTo("q1"); - assertThat(config.getUpQueueName()).isEqualTo("q2"); - assertThat(config.getConnectTimeout()).isEqualTo("20"); - assertThat(config.getReadTimeout()).isEqualTo("30"); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/oss/OssAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/oss/OssAutoConfiguration.java deleted file mode 100644 index 568d475c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/oss/OssAutoConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss; - -/** - * @author xiaolongzuo - */ -public class OssAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/scx/ScxAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/scx/ScxAutoConfiguration.java deleted file mode 100644 index 80e81031..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/scx/ScxAutoConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.scx; - -/** - * @author xiaolongzuo - */ -public class ScxAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/utils/ChangeOrderUtils.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/utils/ChangeOrderUtils.java deleted file mode 100644 index 2c5b0fe5..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/alicloud/utils/ChangeOrderUtils.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.utils; - -import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration; -import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; -import org.powermock.api.mockito.PowerMockito; - -/** - * @author xiaolongzuo - */ -public final class ChangeOrderUtils { - - private ChangeOrderUtils() { - } - - public static void mockChangeOrder() { - EdasChangeOrderConfiguration edasChangeOrderConfiguration = PowerMockito - .mock(EdasChangeOrderConfiguration.class); - PowerMockito.when(edasChangeOrderConfiguration.isEdasManaged()).thenReturn(true); - PowerMockito.when(edasChangeOrderConfiguration.getAddressServerDomain()) - .thenReturn("testDomain"); - PowerMockito.when(edasChangeOrderConfiguration.getTenantId()) - .thenReturn("testTenantId"); - PowerMockito.when(edasChangeOrderConfiguration.getDauthAccessKey()) - .thenReturn("testAK"); - PowerMockito.when(edasChangeOrderConfiguration.getDauthSecretKey()) - .thenReturn("testSK"); - PowerMockito.when(edasChangeOrderConfiguration.getProjectName()) - .thenReturn("testProjectName"); - PowerMockito.when(edasChangeOrderConfiguration.getAddressServerPort()) - .thenReturn("8080"); - PowerMockito.mockStatic(EdasChangeOrderConfigurationFactory.class); - PowerMockito - .when(EdasChangeOrderConfigurationFactory - .getEdasChangeOrderConfiguration()) - .thenReturn(edasChangeOrderConfiguration); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java deleted file mode 100644 index b39d75ec..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/cloud/nacos/NacosConfigAutoConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.nacos; - -/** - * @author xiaolongzuo - */ -public class NacosConfigAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java deleted file mode 100644 index 4b584239..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/cloud/nacos/NacosDiscoveryAutoConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.cloud.nacos; - -/** - * @author xiaolongzuo - */ -public class NacosDiscoveryAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java deleted file mode 100644 index 3ea26682..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.csp.sentinel.datasource.nacos; - -/** - * @author xiaolongzuo - */ -public class NacosDataSource { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/aliyuncs/dysmsapi/model/v20170525/SendSmsRequest.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/aliyuncs/dysmsapi/model/v20170525/SendSmsRequest.java deleted file mode 100644 index 5f943018..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/test/java/com/aliyuncs/dysmsapi/model/v20170525/SendSmsRequest.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.aliyuncs.dysmsapi.model.v20170525; - -/** - * @author xiaolongzuo - */ -public class SendSmsRequest { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/pom.xml deleted file mode 100644 index 0ba4cd28..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/pom.xml +++ /dev/null @@ -1,87 +0,0 @@ - - 4.0.0 - - - com.alibaba.cloud - spring-cloud-starter-alicloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - spring-cloud-starter-alicloud-acm - Spring Cloud Starter Alibaba Cloud ACM - - - - org.springframework.boot - spring-boot-starter - - - - com.alibaba.cloud - spring-cloud-alicloud-context - - - - com.aliyun - aliyun-java-sdk-core - - - - com.aliyun - aliyun-java-sdk-edas - - - - com.alibaba.edas.acm - acm-sdk - - - - org.springframework.boot - spring-boot-autoconfigure - true - - - - org.springframework.boot - spring-boot-starter-actuator - true - - - - - org.springframework.cloud - spring-cloud-context - - - org.springframework.cloud - spring-cloud-commons - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.powermock - powermock-module-junit4 - 2.0.0 - test - - - org.powermock - powermock-api-mockito2 - 2.0.0 - test - - - - diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/AcmAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/AcmAutoConfiguration.java deleted file mode 100644 index ac4065b9..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/AcmAutoConfiguration.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm; - -import com.alibaba.alicloud.acm.refresh.AcmContextRefresher; -import com.alibaba.alicloud.acm.refresh.AcmRefreshHistory; -import com.alibaba.alicloud.context.acm.AcmIntegrationProperties; -import com.taobao.diamond.client.Diamond; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cloud.context.refresh.ContextRefresher; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * Created on 01/10/2017. - * - * @author juven.xuxb - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnClass({ Diamond.class }) -@ConditionalOnProperty(name = "spring.cloud.alicloud.acm.enabled", matchIfMissing = true) -public class AcmAutoConfiguration { - - @Bean - public AcmRefreshHistory acmRefreshHistory() { - return new AcmRefreshHistory(); - } - - @Bean - public AcmContextRefresher acmContextRefresher( - AcmIntegrationProperties acmIntegrationProperties, - ContextRefresher contextRefresher, AcmRefreshHistory refreshHistory, - AcmPropertySourceRepository acmPropertySourceRepository) { - return new AcmContextRefresher(contextRefresher, acmIntegrationProperties, - refreshHistory, acmPropertySourceRepository); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/AcmPropertySourceRepository.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/AcmPropertySourceRepository.java deleted file mode 100644 index 4604ae6c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/AcmPropertySourceRepository.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.alibaba.alicloud.acm.bootstrap.AcmPropertySource; - -import org.springframework.core.env.PropertySource; - -/** - * @author juven.xuxb, 5/17/16. - * @author yuhuangbin - */ -public class AcmPropertySourceRepository { - - private Map acmPropertySourceMap = new ConcurrentHashMap<>(); - - /** - * get all acm properties from AcmPropertySourceRepository. - * @return list of acm propertysource - */ - public List allAcmPropertySource() { - List result = new ArrayList<>(); - result.addAll(this.acmPropertySourceMap.values()); - return result; - } - - public void collectAcmPropertySource( - Collection> acmPropertySources) { - acmPropertySources.forEach(propertySource -> { - if (propertySource.getClass().isAssignableFrom(AcmPropertySource.class)) { - AcmPropertySource acmPropertySource = (AcmPropertySource) propertySource; - this.acmPropertySourceMap.put(getMapKey(acmPropertySource.getDataId(), - acmPropertySource.getGroup()), acmPropertySource); - } - }); - } - - public String getMapKey(String dataId, String group) { - return String.join(",", dataId, group); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmConfigBootStrapConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmConfigBootStrapConfiguration.java deleted file mode 100644 index 91bb484a..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmConfigBootStrapConfiguration.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.bootstrap; - -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.context.acm.AcmIntegrationProperties; -import com.taobao.diamond.client.Diamond; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author yuhuangbin - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnClass({ Diamond.class }) -@ConditionalOnProperty(name = "spring.cloud.alicloud.acm.enabled", matchIfMissing = true) -public class AcmConfigBootStrapConfiguration { - - @Bean - public AcmPropertySourceRepository acmPropertySourceRepository() { - return new AcmPropertySourceRepository(); - } - - @Bean - public AcmPropertySourceLocator acmPropertySourceLocator( - AcmPropertySourceRepository acmPropertySourceRepository, - AcmIntegrationProperties acmIntegrationProperties) { - return new AcmPropertySourceLocator(acmIntegrationProperties, - acmPropertySourceRepository); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySource.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySource.java deleted file mode 100644 index 5fc7020a..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySource.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.bootstrap; - -import java.util.Date; -import java.util.Map; - -import org.springframework.core.env.MapPropertySource; - -/** - * @author juven.xuxb - * @author xiaolongzuo - */ -public class AcmPropertySource extends MapPropertySource { - - private final String dataId; - - private final String group; - - private final Date timestamp; - - private final boolean groupLevel; - - AcmPropertySource(String dataId, String group, Map source, - Date timestamp, boolean groupLevel) { - super(dataId, source); - this.dataId = dataId; - this.group = group; - this.timestamp = timestamp; - this.groupLevel = groupLevel; - } - - public String getDataId() { - return dataId; - } - - public Date getTimestamp() { - return timestamp; - } - - public String getGroup() { - return group; - } - - public boolean isGroupLevel() { - return groupLevel; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySourceBuilder.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySourceBuilder.java deleted file mode 100644 index be5130bb..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySourceBuilder.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.bootstrap; - -import java.io.StringReader; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -import com.alibaba.edas.acm.ConfigService; -import com.alibaba.edas.acm.exception.ConfigException; -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; - -/** - * @author juven.xuxb - * @author xiaolongzuo - */ -class AcmPropertySourceBuilder { - - private Logger log = LoggerFactory.getLogger(AcmPropertySourceBuilder.class); - - /** - * 传入 ACM 的 DataId 和 groupID,获取到解析后的 AcmProperty 对象. - * @param dataId dataid of diamond - * @param diamondGroup group of diamond - * @param groupLevel group level of diamond - * @return acm property source - */ - AcmPropertySource build(String dataId, String diamondGroup, boolean groupLevel) { - Properties properties = loadDiamondData(dataId, diamondGroup); - if (properties == null) { - return null; - } - return new AcmPropertySource(dataId, diamondGroup, toMap(properties), new Date(), - groupLevel); - } - - private Properties loadDiamondData(String dataId, String diamondGroup) { - try { - String data = ConfigService.getConfig(dataId, diamondGroup, 3000L); - if (StringUtils.isEmpty(data)) { - return null; - } - if (dataId.endsWith(".properties")) { - Properties properties = new Properties(); - log.info(String.format("Loading acm data, dataId: '%s', group: '%s'", - dataId, diamondGroup)); - properties.load(new StringReader(data)); - return properties; - } - else if (dataId.endsWith(".yaml") || dataId.endsWith(".yml")) { - YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean(); - yamlFactory.setResources(new ByteArrayResource(data.getBytes())); - return yamlFactory.getObject(); - } - } - catch (Exception e) { - if (e instanceof ConfigException) { - log.error("DIAMOND-100500:" + dataId + ", " + e.toString(), e); - } - else { - log.error("DIAMOND-100500:" + dataId, e); - } - } - return null; - } - - @SuppressWarnings("unchecked") - private Map toMap(Properties properties) { - Map result = new HashMap<>(); - Enumeration keys = (Enumeration) properties.propertyNames(); - while (keys.hasMoreElements()) { - String key = keys.nextElement(); - Object value = properties.getProperty(key); - if (value != null) { - result.put(key, ((String) value).trim()); - } - else { - result.put(key, null); - } - } - return result; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySourceLocator.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySourceLocator.java deleted file mode 100644 index 4c983c80..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/bootstrap/AcmPropertySourceLocator.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.bootstrap; - -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.context.acm.AcmIntegrationProperties; - -import org.springframework.cloud.bootstrap.config.PropertySourceLocator; -import org.springframework.core.env.CompositePropertySource; -import org.springframework.core.env.Environment; -import org.springframework.core.env.PropertySource; - -/** - * @author juven.xuxb - * @author xiaolongzuo - * @author yuhuangbin - */ -public class AcmPropertySourceLocator implements PropertySourceLocator { - - private static final String DIAMOND_PROPERTY_SOURCE_NAME = "diamond"; - - private AcmPropertySourceBuilder acmPropertySourceBuilder = new AcmPropertySourceBuilder(); - - private AcmIntegrationProperties acmIntegrationProperties; - - private AcmPropertySourceRepository acmPropertySourceRepository; - - public AcmPropertySourceLocator(AcmIntegrationProperties acmIntegrationProperties, - AcmPropertySourceRepository acmPropertySourceRepository) { - this.acmIntegrationProperties = acmIntegrationProperties; - this.acmPropertySourceRepository = acmPropertySourceRepository; - } - - @Override - public PropertySource locate(Environment environment) { - - CompositePropertySource compositePropertySource = new CompositePropertySource( - DIAMOND_PROPERTY_SOURCE_NAME); - - acmIntegrationProperties.setActiveProfiles(environment.getActiveProfiles()); - - for (String dataId : acmIntegrationProperties.getGroupConfigurationDataIds()) { - loadDiamondDataIfPresent(compositePropertySource, dataId, - acmIntegrationProperties.getAcmProperties().getGroup(), true); - } - - for (String dataId : acmIntegrationProperties - .getApplicationConfigurationDataIds()) { - loadDiamondDataIfPresent(compositePropertySource, dataId, - acmIntegrationProperties.getAcmProperties().getGroup(), false); - } - acmPropertySourceRepository - .collectAcmPropertySource(compositePropertySource.getPropertySources()); - return compositePropertySource; - } - - private void loadDiamondDataIfPresent(final CompositePropertySource composite, - final String dataId, final String diamondGroup, final boolean groupLevel) { - AcmPropertySource ps = acmPropertySourceBuilder.build(dataId, diamondGroup, - groupLevel); - if (ps != null) { - composite.addFirstPropertySource(ps); - } - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmEndpoint.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmEndpoint.java deleted file mode 100644 index 6a84b844..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmEndpoint.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.endpoint; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.acm.bootstrap.AcmPropertySource; -import com.alibaba.alicloud.acm.refresh.AcmRefreshHistory; -import com.alibaba.alicloud.context.acm.AcmProperties; - -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; - -/** - * Created on 01/10/2017. - * - * @author juven.xuxb - */ -@Endpoint(id = "acm") -public class AcmEndpoint { - - private final AcmProperties properties; - - private final AcmRefreshHistory refreshHistory; - - private final AcmPropertySourceRepository acmPropertySourceRepository; - - private ThreadLocal dateFormat = new ThreadLocal() { - @Override - protected DateFormat initialValue() { - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - } - }; - - public AcmEndpoint(AcmProperties properties, AcmRefreshHistory refreshHistory, - AcmPropertySourceRepository acmPropertySourceRepository) { - this.properties = properties; - this.refreshHistory = refreshHistory; - this.acmPropertySourceRepository = acmPropertySourceRepository; - } - - @ReadOperation - public Map invoke() { - Map result = new HashMap<>(); - result.put("config", properties); - - Map runtime = new HashMap<>(); - List all = acmPropertySourceRepository.allAcmPropertySource(); - - List> sources = new ArrayList<>(); - for (AcmPropertySource ps : all) { - Map source = new HashMap<>(); - source.put("dataId", ps.getDataId()); - source.put("lastSynced", dateFormat.get().format(ps.getTimestamp())); - sources.add(source); - } - runtime.put("sources", sources); - runtime.put("refreshHistory", refreshHistory.getRecords()); - - result.put("runtime", runtime); - return result; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmEndpointAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmEndpointAutoConfiguration.java deleted file mode 100644 index a835c045..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmEndpointAutoConfiguration.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.endpoint; - -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.acm.refresh.AcmRefreshHistory; -import com.alibaba.alicloud.context.acm.AcmProperties; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; - -/** - * @author xiaojing - */ -@ConditionalOnWebApplication -@ConditionalOnClass( - name = "org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration") -@ConditionalOnProperty(name = "spring.cloud.alicloud.acm.enabled", matchIfMissing = true) -public class AcmEndpointAutoConfiguration { - - @Autowired - private AcmProperties acmProperties; - - @Autowired - private AcmRefreshHistory acmRefreshHistory; - - @ConditionalOnMissingBean - @ConditionalOnEnabledEndpoint - @Bean - public AcmEndpoint acmEndpoint( - AcmPropertySourceRepository acmPropertySourceRepository) { - return new AcmEndpoint(acmProperties, acmRefreshHistory, - acmPropertySourceRepository); - } - - @Bean - @ConditionalOnMissingBean - public AcmHealthIndicator acmHealthIndicator(AcmProperties acmProperties, - AcmPropertySourceRepository acmPropertySourceRepository) { - return new AcmHealthIndicator(acmProperties, acmPropertySourceRepository); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmHealthIndicator.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmHealthIndicator.java deleted file mode 100644 index b2197e27..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/endpoint/AcmHealthIndicator.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.endpoint; - -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.acm.bootstrap.AcmPropertySource; -import com.alibaba.alicloud.context.acm.AcmProperties; -import com.alibaba.edas.acm.ConfigService; - -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.util.StringUtils; - -/** - * @author leijuan - * @author juven - */ -public class AcmHealthIndicator extends AbstractHealthIndicator { - - private final AcmProperties acmProperties; - - private final List dataIds; - - private final AcmPropertySourceRepository acmPropertySourceRepository; - - public AcmHealthIndicator(AcmProperties acmProperties, - AcmPropertySourceRepository acmPropertySourceRepository) { - this.acmProperties = acmProperties; - this.acmPropertySourceRepository = acmPropertySourceRepository; - - this.dataIds = new ArrayList<>(); - for (AcmPropertySource acmPropertySource : this.acmPropertySourceRepository - .allAcmPropertySource()) { - this.dataIds.add(acmPropertySource.getDataId()); - } - } - - @Override - protected void doHealthCheck(Health.Builder builder) throws Exception { - for (String dataId : dataIds) { - try { - String config = ConfigService.getConfig(dataId, acmProperties.getGroup(), - acmProperties.getTimeout()); - if (StringUtils.isEmpty(config)) { - builder.down().withDetail(String.format("dataId: '%s', group: '%s'", - dataId, acmProperties.getGroup()), "config is empty"); - } - } - catch (Exception e) { - builder.down().withDetail(String.format("dataId: '%s', group: '%s'", - dataId, acmProperties.getGroup()), e.getMessage()); - } - } - builder.up().withDetail("dataIds", dataIds); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/refresh/AcmContextRefresher.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/refresh/AcmContextRefresher.java deleted file mode 100644 index bd570034..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/refresh/AcmContextRefresher.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.refresh; - -import java.io.UnsupportedEncodingException; -import java.math.BigInteger; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.context.acm.AcmIntegrationProperties; -import com.alibaba.edas.acm.ConfigService; -import com.alibaba.edas.acm.listener.ConfigChangeListener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.beans.BeansException; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.cloud.context.refresh.ContextRefresher; -import org.springframework.cloud.endpoint.event.RefreshEvent; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.context.ApplicationListener; -import org.springframework.util.StringUtils; - -/** - * On application start up, AcmContextRefresher add diamond listeners to all application - * level dataIds, when there is a change in the data, listeners will refresh - * configurations. - * - * @author juven.xuxb, 5/13/16. - */ -public class AcmContextRefresher - implements ApplicationListener, ApplicationContextAware { - - private Logger log = LoggerFactory.getLogger(AcmContextRefresher.class); - - private final ContextRefresher contextRefresher; - - private final AcmIntegrationProperties acmIntegrationProperties; - - private final AcmRefreshHistory refreshHistory; - - private AcmPropertySourceRepository acmPropertySourceRepository; - - private ApplicationContext applicationContext; - - private Map listenerMap = new ConcurrentHashMap<>(16); - - public AcmContextRefresher(ContextRefresher contextRefresher, - AcmIntegrationProperties acmIntegrationProperties, - AcmRefreshHistory refreshHistory, - AcmPropertySourceRepository acmPropertySourceRepository) { - this.contextRefresher = contextRefresher; - this.acmIntegrationProperties = acmIntegrationProperties; - this.refreshHistory = refreshHistory; - this.acmPropertySourceRepository = acmPropertySourceRepository; - } - - @Override - public void onApplicationEvent(ApplicationReadyEvent event) { - this.registerDiamondListenersForApplications(); - } - - private void registerDiamondListenersForApplications() { - if (acmIntegrationProperties.getAcmProperties().isRefreshEnabled()) { - for (String dataId : acmIntegrationProperties - .getApplicationConfigurationDataIds()) { - registerDiamondListener(dataId, - acmIntegrationProperties.getAcmProperties().getGroup()); - } - } - } - - private void registerDiamondListener(final String dataId, final String group) { - String key = acmPropertySourceRepository.getMapKey(dataId, group); - ConfigChangeListener listener = listenerMap.computeIfAbsent(key, - i -> new ConfigChangeListener() { - @Override - public void receiveConfigInfo(String configInfo) { - String md5 = ""; - if (!StringUtils.isEmpty(configInfo)) { - try { - MessageDigest md = MessageDigest.getInstance("MD5"); - md5 = new BigInteger(1, - md.digest(configInfo.getBytes("UTF-8"))) - .toString(16); - } - catch (NoSuchAlgorithmException - | UnsupportedEncodingException e) { - log.warn("unable to get md5 for dataId: " + dataId, e); - } - } - refreshHistory.add(dataId, md5); - applicationContext.publishEvent(new RefreshEvent(this, md5, - "ACM Refresh, dataId=" + dataId)); - } - }); - ConfigService.addListener(dataId, group, listener); - } - - @Override - public void setApplicationContext(ApplicationContext applicationContext) - throws BeansException { - this.applicationContext = applicationContext; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/refresh/AcmRefreshHistory.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/refresh/AcmRefreshHistory.java deleted file mode 100644 index cf6d44f6..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/java/com/alibaba/alicloud/acm/refresh/AcmRefreshHistory.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.refresh; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.LinkedList; - -/** - * @author juven.xuxb, 5/16/16. - */ -public class AcmRefreshHistory { - - private static final int MAX_SIZE = 20; - - private LinkedList records = new LinkedList<>(); - - private ThreadLocal dateFormat = new ThreadLocal() { - @Override - protected DateFormat initialValue() { - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - } - }; - - public void add(String dataId, String md5) { - records.addFirst(new Record(dateFormat.get().format(new Date()), dataId, md5)); - if (records.size() > MAX_SIZE) { - records.removeLast(); - } - } - - public LinkedList getRecords() { - return records; - } - -} - -class Record { - - private final String timestamp; - - private final String dataId; - - private final String md5; - - Record(String timestamp, String dataId, String md5) { - this.timestamp = timestamp; - this.dataId = dataId; - this.md5 = md5; - } - - public String getTimestamp() { - return timestamp; - } - - public String getDataId() { - return dataId; - } - - public String getMd5() { - return md5; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/resources/META-INF/additional-spring-configuration-metadata.json deleted file mode 100644 index 34d3e4f9..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "properties": [ - { - "name": "spring.application.group", - "type": "java.lang.String", - "description": "spring application group." - }, - { - "name": "spring.cloud.alicloud.acm.enabled", - "type": "java.lang.Boolean", - "defaultValue": true, - "description": "enable acm or not." - } - ] -} \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 25af6663..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,6 +0,0 @@ -org.springframework.cloud.bootstrap.BootstrapConfiguration=\ -com.alibaba.alicloud.acm.bootstrap.AcmConfigBootStrapConfiguration - -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.alibaba.alicloud.acm.AcmAutoConfiguration,\ -com.alibaba.alicloud.acm.endpoint.AcmEndpointAutoConfiguration \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmConfigurationTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmConfigurationTests.java deleted file mode 100644 index c529a079..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmConfigurationTests.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; - -import com.alibaba.alicloud.acm.bootstrap.AcmPropertySourceLocator; -import com.alibaba.alicloud.acm.endpoint.AcmEndpointAutoConfiguration; -import com.alibaba.alicloud.context.acm.AcmContextBootstrapConfiguration; -import com.alibaba.alicloud.context.acm.AcmIntegrationProperties; -import com.alibaba.alicloud.context.acm.AcmProperties; -import com.alibaba.edas.acm.ConfigService; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.api.support.MethodProxy; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.modules.junit4.PowerMockRunnerDelegate; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.NONE; - -/** - * @author xiaojing - */ - -@RunWith(PowerMockRunner.class) -@PowerMockRunnerDelegate(SpringRunner.class) -@PrepareForTest({ ConfigService.class }) -@SpringBootTest(classes = AcmConfigurationTests.TestConfig.class, - properties = { "spring.application.name=test-name", - "spring.profiles.active=dev,test", - "spring.cloud.alicloud.acm.server-list=127.0.0.1", - "spring.cloud.alicloud.acm.server-port=8848", - "spring.cloud.alicloud.acm.endpoint=test-endpoint", - "spring.cloud.alicloud.acm.namespace=test-namespace", - "spring.cloud.alicloud.acm.timeout=1000", - "spring.cloud.alicloud.acm.group=test-group", - "spring.cloud.alicloud.acm.refresh-enabled=false", - "spring.cloud.alicloud.acm.file-extension=properties" }, - webEnvironment = NONE) -public class AcmConfigurationTests { - - static { - - try { - - Method method = PowerMockito.method(ConfigService.class, "getConfig", - String.class, String.class, long.class); - MethodProxy.proxy(method, new InvocationHandler() { - @Override - public Object invoke(Object proxy, Method method, Object[] args) - throws Throwable { - - if ("test-name.properties".equals(args[0]) - && "test-group".equals(args[1])) { - return "user.name=hello\nuser.age=12"; - } - - if ("test-name-dev.properties".equals(args[0]) - && "test-group".equals(args[1])) { - return "user.name=dev"; - } - return ""; - } - }); - - } - catch (Exception ignore) { - ignore.printStackTrace(); - - } - } - - @Autowired - private Environment environment; - - @Autowired - private AcmPropertySourceLocator locator; - - @Autowired - private AcmIntegrationProperties integrationProperties; - - @Autowired - private AcmProperties properties; - - @Test - public void contextLoads() throws Exception { - - assertThat(locator).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(integrationProperties).isNotNull(); - - checkoutAcmServerAddr(); - checkoutAcmServerPort(); - checkoutAcmEndpoint(); - checkoutAcmNamespace(); - checkoutAcmGroup(); - checkoutAcmFileExtension(); - checkoutAcmTimeout(); - checkoutAcmProfiles(); - checkoutAcmRefreshEnabled(); - checkoutDataLoad(); - checkoutProfileDataLoad(); - } - - private void checkoutAcmServerAddr() { - assertThat(properties.getServerList()).isEqualTo("127.0.0.1"); - } - - private void checkoutAcmServerPort() { - assertThat(properties.getServerPort()).isEqualTo("8848"); - } - - private void checkoutAcmEndpoint() { - assertThat(properties.getEndpoint()).isEqualTo("test-endpoint"); - } - - private void checkoutAcmNamespace() { - assertThat(properties.getNamespace()).isEqualTo("test-namespace"); - } - - private void checkoutAcmGroup() { - assertThat(properties.getGroup()).isEqualTo("test-group"); - } - - private void checkoutAcmFileExtension() { - assertThat(properties.getFileExtension()).isEqualTo("properties"); - } - - private void checkoutAcmTimeout() { - assertThat(properties.getTimeout()).isEqualTo(1000); - } - - private void checkoutAcmRefreshEnabled() { - assertThat(properties.isRefreshEnabled()).isEqualTo(false); - } - - private void checkoutAcmProfiles() { - assertThat(integrationProperties.getActiveProfiles()) - .isEqualTo(new String[] { "dev", "test" }); - } - - private void checkoutDataLoad() { - assertThat(environment.getProperty("user.age")).isEqualTo("12"); - } - - private void checkoutProfileDataLoad() { - assertThat(environment.getProperty("user.name")).isEqualTo("dev"); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AcmEndpointAutoConfiguration.class, - AcmAutoConfiguration.class, AcmContextBootstrapConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmFileExtensionTest.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmFileExtensionTest.java deleted file mode 100644 index cfaca532..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmFileExtensionTest.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; - -import com.alibaba.alicloud.acm.endpoint.AcmEndpointAutoConfiguration; -import com.alibaba.alicloud.context.acm.AcmContextBootstrapConfiguration; -import com.alibaba.edas.acm.ConfigService; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.api.support.MethodProxy; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.modules.junit4.PowerMockRunnerDelegate; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.NONE; - -/** - * @author xiaojing - */ - -@RunWith(PowerMockRunner.class) -@PowerMockRunnerDelegate(SpringRunner.class) -@PrepareForTest({ ConfigService.class }) -@SpringBootTest(classes = AcmFileExtensionTest.TestConfig.class, - properties = { "spring.application.name=test-name", - "spring.cloud.alicloud.acm.server-list=127.0.0.1", - "spring.cloud.alicloud.acm.server-port=8080", - "spring.cloud.alicloud.acm.file-extension=yaml" }, - webEnvironment = NONE) -public class AcmFileExtensionTest { - - static { - - try { - Method method = PowerMockito.method(ConfigService.class, "getConfig", - String.class, String.class, long.class); - MethodProxy.proxy(method, new InvocationHandler() { - @Override - public Object invoke(Object proxy, Method method, Object[] args) - throws Throwable { - if ("test-name.yaml".equals(args[0]) - && "DEFAULT_GROUP".equals(args[1])) { - return "user:\n name: hello\n age: 12"; - } - return ""; - } - }); - - } - catch (Exception ignore) { - ignore.printStackTrace(); - - } - } - - @Autowired - private Environment environment; - - @Test - public void contextLoads() throws Exception { - - Assert.assertEquals(environment.getProperty("user.name"), "hello"); - Assert.assertEquals(environment.getProperty("user.age"), "12"); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AcmEndpointAutoConfiguration.class, - AcmAutoConfiguration.class, AcmContextBootstrapConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmGroupConfigurationTest.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmGroupConfigurationTest.java deleted file mode 100644 index 087703d4..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/AcmGroupConfigurationTest.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; - -import com.alibaba.alicloud.acm.endpoint.AcmEndpointAutoConfiguration; -import com.alibaba.alicloud.context.acm.AcmContextBootstrapConfiguration; -import com.alibaba.edas.acm.ConfigService; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.api.support.MethodProxy; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.modules.junit4.PowerMockRunnerDelegate; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.NONE; - -/** - * @author xiaojing - */ - -@RunWith(PowerMockRunner.class) -@PowerMockRunnerDelegate(SpringRunner.class) -@PrepareForTest({ ConfigService.class }) -@SpringBootTest(classes = AcmGroupConfigurationTest.TestConfig.class, - properties = { "spring.application.name=test-name", - "spring.application.group=com.test.hello", - "spring.cloud.alicloud.acm.server-list=127.0.0.1", - "spring.cloud.alicloud.acm.server-port=8080", - "spring.cloud.alicloud.acm.timeout=1000", - "spring.cloud.alicloud.acm.group=test-group" }, - webEnvironment = NONE) -public class AcmGroupConfigurationTest { - - static { - - try { - Method method = PowerMockito.method(ConfigService.class, "getConfig", - String.class, String.class, long.class); - MethodProxy.proxy(method, new InvocationHandler() { - @Override - public Object invoke(Object proxy, Method method, Object[] args) - throws Throwable { - if ("com.test:application.properties".equals(args[0]) - && "test-group".equals(args[1])) { - return "com.test.value=com.test\ntest.priority=1"; - } - if ("com.test.hello:application.properties".equals(args[0]) - && "test-group".equals(args[1])) { - return "com.test.hello.value=com.test.hello\ntest.priority=2"; - } - return ""; - } - }); - - } - catch (Exception ignore) { - ignore.printStackTrace(); - - } - } - - @Autowired - private Environment environment; - - @Test - public void contextLoads() throws Exception { - - Assert.assertEquals(environment.getProperty("com.test.value"), "com.test"); - Assert.assertEquals(environment.getProperty("test.priority"), "2"); - Assert.assertEquals(environment.getProperty("com.test.hello.value"), - "com.test.hello"); - - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AcmEndpointAutoConfiguration.class, - AcmAutoConfiguration.class, AcmContextBootstrapConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/endpoint/AcmEndpointTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/endpoint/AcmEndpointTests.java deleted file mode 100644 index 442d2002..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-acm/src/test/java/com/alibaba/alicloud/acm/endpoint/AcmEndpointTests.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.acm.endpoint; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import com.alibaba.alicloud.acm.AcmAutoConfiguration; -import com.alibaba.alicloud.acm.AcmPropertySourceRepository; -import com.alibaba.alicloud.acm.refresh.AcmRefreshHistory; -import com.alibaba.alicloud.context.acm.AcmContextBootstrapConfiguration; -import com.alibaba.alicloud.context.acm.AcmProperties; -import com.alibaba.edas.acm.ConfigService; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.api.support.MethodProxy; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.modules.junit4.PowerMockRunnerDelegate; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.NONE; - -/** - * @author xiaojing - */ - -@RunWith(PowerMockRunner.class) -@PowerMockRunnerDelegate(SpringRunner.class) -@PrepareForTest({ ConfigService.class }) -@SpringBootTest(classes = AcmEndpointTests.TestConfig.class, - properties = { "spring.application.name=test-name", - "spring.cloud.alicloud.acm.server-list=127.0.0.1", - "spring.cloud.alicloud.acm.server-port=8848", - "spring.cloud.alicloud.acm.file-extension=properties" }, - webEnvironment = NONE) -public class AcmEndpointTests { - - static { - - try { - - Method method = PowerMockito.method(ConfigService.class, "getConfig", - String.class, String.class, long.class); - MethodProxy.proxy(method, new InvocationHandler() { - @Override - public Object invoke(Object proxy, Method method, Object[] args) - throws Throwable { - - if ("test-name.properties".equals(args[0]) - && "DEFAULT_GROUP".equals(args[1])) { - return "user.name=hello\nuser.age=12"; - } - return ""; - } - }); - - } - catch (Exception ignore) { - ignore.printStackTrace(); - - } - } - - @Autowired - private AcmProperties properties; - - @Autowired - private AcmRefreshHistory refreshHistory; - - @Autowired - private AcmPropertySourceRepository acmPropertySourceRepository; - - @Test - public void contextLoads() throws Exception { - - checkoutEndpoint(); - checkoutAcmHealthIndicator(); - - } - - private void checkoutAcmHealthIndicator() { - try { - Builder builder = new Builder(); - - AcmHealthIndicator healthIndicator = new AcmHealthIndicator(properties, - acmPropertySourceRepository); - healthIndicator.doHealthCheck(builder); - - Builder builder1 = new Builder(); - List dataIds = new ArrayList<>(); - dataIds.add("test-name.properties"); - builder1.up().withDetail("dataIds", dataIds); - - Assert.assertTrue(builder.build().equals(builder1.build())); - - } - catch (Exception ignoreE) { - - } - - } - - private void checkoutEndpoint() throws Exception { - AcmEndpoint acmEndpoint = new AcmEndpoint(properties, refreshHistory, - acmPropertySourceRepository); - Map map = acmEndpoint.invoke(); - assertThat(properties).isEqualTo(map.get("config")); - assertThat(refreshHistory.getRecords()) - .isEqualTo(((Map) map.get("runtime")).get("refreshHistory")); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AcmEndpointAutoConfiguration.class, - AcmAutoConfiguration.class, AcmContextBootstrapConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/pom.xml deleted file mode 100644 index 0f50827d..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/pom.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - 4.0.0 - - - com.alibaba.cloud - spring-cloud-starter-alicloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - spring-cloud-starter-alicloud-ans - Spring Cloud Starter Alibaba Cloud ANS - - - - - org.springframework.boot - spring-boot-starter - - - - com.alibaba.ans - ans-sdk - - - - com.aliyun - aliyun-java-sdk-core - - - - com.aliyun - aliyun-java-sdk-edas - - - - com.alibaba.cloud - spring-cloud-alicloud-context - - - - org.springframework - spring-context - - - org.springframework.cloud - spring-cloud-commons - - - - org.slf4j - slf4j-api - - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - org.springframework.boot - spring-boot-starter - - - - - - org.springframework.boot - spring-boot-actuator - true - - - - org.springframework.boot - spring-boot-actuator-autoconfigure - true - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - org.springframework.boot - spring-boot-autoconfigure - true - - - - - org.springframework.boot - spring-boot-starter-web - test - - - - org.springframework.boot - spring-boot-starter-actuator - test - - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.springframework.cloud - spring-cloud-test-support - test - - - - org.powermock - powermock-module-junit4 - 2.0.0 - test - - - - org.powermock - powermock-api-mockito2 - 2.0.0 - test - - - - \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsAutoConfiguration.java deleted file mode 100644 index b017421a..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsAutoConfiguration.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -import com.alibaba.alicloud.ans.registry.AnsAutoServiceRegistration; -import com.alibaba.alicloud.ans.registry.AnsRegistration; -import com.alibaba.alicloud.ans.registry.AnsServiceRegistry; -import com.alibaba.alicloud.context.ans.AnsProperties; - -import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties -@ConditionalOnClass( - name = "org.springframework.boot.web.context.WebServerInitializedEvent") -@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", - matchIfMissing = true) -@ConditionalOnAnsEnabled -@AutoConfigureAfter({ AutoServiceRegistrationConfiguration.class, - AutoServiceRegistrationAutoConfiguration.class }) -public class AnsAutoConfiguration { - - @Bean - public AnsServiceRegistry ansServiceRegistry() { - return new AnsServiceRegistry(); - } - - @Bean - @ConditionalOnBean(AutoServiceRegistrationProperties.class) - @ConditionalOnProperty( - value = "spring.cloud.service-registry.auto-registration.enabled", - matchIfMissing = true) - public AnsRegistration ansRegistration(AnsProperties ansProperties, - ApplicationContext applicationContext) { - return new AnsRegistration(ansProperties, applicationContext); - } - - @Bean - @ConditionalOnBean(AutoServiceRegistrationProperties.class) - @ConditionalOnProperty( - value = "spring.cloud.service-registry.auto-registration.enabled", - matchIfMissing = true) - public AnsAutoServiceRegistration ansAutoServiceRegistration( - AnsServiceRegistry registry, - AutoServiceRegistrationProperties autoServiceRegistrationProperties, - AnsRegistration registration) { - return new AnsAutoServiceRegistration(registry, autoServiceRegistrationProperties, - registration); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsDiscoveryClient.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsDiscoveryClient.java deleted file mode 100644 index 420342f0..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsDiscoveryClient.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; - -import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.client.discovery.DiscoveryClient; - -/** - * @author xiaolongzuo - * @author pbting - */ -public class AnsDiscoveryClient implements DiscoveryClient { - - /** - * Description of Ans Discovery. - */ - public static final String DESCRIPTION = "Spring Cloud ANS Discovery Client"; - - @Override - public String description() { - return DESCRIPTION; - } - - @Override - public List getInstances(String serviceId) { - try { - List hosts = NamingService.getHosts(serviceId); - return hostToServiceInstanceList(hosts, serviceId); - } - catch (Exception e) { - throw new RuntimeException( - "Can not get hosts from ans server. serviceId: " + serviceId, e); - } - } - - private static ServiceInstance hostToServiceInstance(Host host, String serviceId) { - AnsServiceInstance ansServiceInstance = new AnsServiceInstance(); - ansServiceInstance.setHost(host.getIp()); - ansServiceInstance.setPort(host.getPort()); - ansServiceInstance.setServiceId(serviceId); - Map metadata = new HashMap(5); - metadata.put("appUseType", host.getAppUseType()); - metadata.put("site", host.getSite()); - metadata.put("unit", host.getUnit()); - metadata.put("doubleWeight", "" + host.getDoubleWeight()); - metadata.put("weight", "" + host.getWeight()); - ansServiceInstance.setMetadata(metadata); - - return ansServiceInstance; - } - - private static List hostToServiceInstanceList(List hosts, - String serviceId) { - List result = new ArrayList(hosts.size()); - for (Host host : hosts) { - result.add(hostToServiceInstance(host, serviceId)); - } - return result; - } - - @Override - public List getServices() { - Set publishers = NamingService.getPublishes(); - Set doms = NamingService.getDomsSubscribed(); - doms.addAll(publishers); - List result = new LinkedList<>(); - for (String service : doms) { - result.add(service); - } - return result; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsDiscoveryClientAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsDiscoveryClientAutoConfiguration.java deleted file mode 100644 index 5467ce73..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsDiscoveryClientAutoConfiguration.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.client.discovery.DiscoveryClient; -import org.springframework.cloud.client.discovery.simple.SimpleDiscoveryClientAutoConfiguration; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - * @author pbting - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnMissingBean(DiscoveryClient.class) -@EnableConfigurationProperties -@AutoConfigureBefore(SimpleDiscoveryClientAutoConfiguration.class) -public class AnsDiscoveryClientAutoConfiguration { - - @Bean - public DiscoveryClient ansDiscoveryClient() { - return new AnsDiscoveryClient(); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsServiceInstance.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsServiceInstance.java deleted file mode 100644 index aa912392..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/AnsServiceInstance.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -import java.net.URI; -import java.util.Map; - -import org.springframework.cloud.client.DefaultServiceInstance; -import org.springframework.cloud.client.ServiceInstance; - -/** - * @author xiaolongzuo - */ -public class AnsServiceInstance implements ServiceInstance { - - private String serviceId; - - private String host; - - private int port; - - private boolean secure; - - private Map metadata; - - @Override - public String getServiceId() { - return serviceId; - } - - @Override - public String getHost() { - return host; - } - - @Override - public int getPort() { - return port; - } - - @Override - public boolean isSecure() { - return secure; - } - - @Override - public URI getUri() { - return DefaultServiceInstance.getUri(this); - } - - @Override - public Map getMetadata() { - return metadata; - } - - public void setServiceId(String serviceId) { - this.serviceId = serviceId; - } - - public void setHost(String host) { - this.host = host; - } - - public void setPort(int port) { - this.port = port; - } - - public void setSecure(boolean secure) { - this.secure = secure; - } - - public void setMetadata(Map metadata) { - this.metadata = metadata; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ConditionalOnAnsEnabled.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ConditionalOnAnsEnabled.java deleted file mode 100644 index 0633c691..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ConditionalOnAnsEnabled.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; - -/** - * @author xiaolongzuo - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.TYPE, ElementType.METHOD }) -@ConditionalOnProperty(value = "spring.cloud.ans.enabled", matchIfMissing = true) -public @interface ConditionalOnAnsEnabled { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/endpoint/AnsEndpoint.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/endpoint/AnsEndpoint.java deleted file mode 100644 index a7def20f..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/endpoint/AnsEndpoint.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.endpoint; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import com.alibaba.alicloud.context.ans.AnsProperties; -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; - -/** - * @author xiaolongzuo - * @author pbting - */ -@Endpoint(id = "ans") -public class AnsEndpoint { - - private static final Logger log = LoggerFactory.getLogger(AnsEndpoint.class); - - private AnsProperties ansProperties; - - public AnsEndpoint(AnsProperties ansProperties) { - this.ansProperties = ansProperties; - } - - /** - * @return ans endpoint - */ - @ReadOperation - public Map invoke() { - Map ansEndpoint = new HashMap<>(); - log.info("ANS endpoint invoke, ansProperties is " + ansProperties); - ansEndpoint.put("ansProperties", ansProperties); - - Map subscribes = new HashMap<>(); - Set subscribeServices = NamingService.getDomsSubscribed(); - for (String service : subscribeServices) { - try { - List hosts = NamingService.getHosts(service); - subscribes.put(service, hosts); - } - catch (Exception ignoreException) { - - } - } - ansEndpoint.put("subscribes", subscribes); - log.info("ANS endpoint invoke, subscribes is " + subscribes); - return ansEndpoint; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/endpoint/AnsEndpointAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/endpoint/AnsEndpointAutoConfiguration.java deleted file mode 100644 index 552dd7d5..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/endpoint/AnsEndpointAutoConfiguration.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.endpoint; - -import com.alibaba.alicloud.context.ans.AnsProperties; - -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; - -/** - * @author xiaolongzuo - */ -@ConditionalOnWebApplication -@ConditionalOnClass(Endpoint.class) -public class AnsEndpointAutoConfiguration { - - @Bean - public AnsEndpoint ansEndpoint(AnsProperties ansProperties) { - return new AnsEndpoint(ansProperties); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistration.java deleted file mode 100644 index 1d5b4cf4..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistration.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties; -import org.springframework.cloud.client.serviceregistry.ServiceRegistry; -import org.springframework.util.Assert; -import org.springframework.util.StringUtils; - -/** - * @author xiaolongzuo - * @author pbting - */ -public class AnsAutoServiceRegistration - extends AbstractAutoServiceRegistration { - - private static final Logger log = LoggerFactory - .getLogger(AnsAutoServiceRegistration.class); - - private AnsRegistration registration; - - public AnsAutoServiceRegistration(ServiceRegistry serviceRegistry, - AutoServiceRegistrationProperties autoServiceRegistrationProperties, - AnsRegistration registration) { - super(serviceRegistry, autoServiceRegistrationProperties); - this.registration = registration; - } - - @Deprecated - public void setPort(int port) { - getPort().set(port); - } - - @Override - protected AnsRegistration getRegistration() { - if (this.registration.getPort() < 0 && this.getPort().get() > 0) { - this.registration.setPort(this.getPort().get()); - } - Assert.isTrue(this.registration.getPort() > 0, "service.port has not been set"); - return this.registration; - } - - @Override - protected AnsRegistration getManagementRegistration() { - return null; - } - - @Override - protected void register() { - if (!this.registration.getAnsProperties().isRegisterEnabled()) { - log.debug("Registration disabled."); - return; - } - if (this.registration.getPort() < 0) { - this.registration.setPort(getPort().get()); - } - super.register(); - } - - @Override - protected void registerManagement() { - if (!this.registration.getAnsProperties().isRegisterEnabled()) { - return; - } - super.registerManagement(); - - } - - @Override - protected Object getConfiguration() { - return this.registration.getAnsProperties(); - } - - @Override - protected boolean isEnabled() { - return this.registration.getAnsProperties().isRegisterEnabled(); - } - - @Override - @SuppressWarnings("deprecation") - protected String getAppName() { - String appName = registration.getServiceId(); - return StringUtils.isEmpty(appName) ? super.getAppName() : appName; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsRegistration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsRegistration.java deleted file mode 100644 index 142cd990..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsRegistration.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import java.net.URI; -import java.util.Map; - -import javax.annotation.PostConstruct; - -import com.alibaba.alicloud.context.ans.AnsProperties; - -import org.springframework.cloud.client.DefaultServiceInstance; -import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.client.discovery.ManagementServerPortUtils; -import org.springframework.cloud.client.serviceregistry.Registration; -import org.springframework.context.ApplicationContext; -import org.springframework.core.env.Environment; -import org.springframework.util.StringUtils; - -/** - * @author xiaolongzuo - */ -public class AnsRegistration implements Registration, ServiceInstance { - - static final String MANAGEMENT_PORT = "management.port"; - static final String MANAGEMENT_CONTEXT_PATH = "management.context-path"; - static final String MANAGEMENT_ADDRESS = "management.address"; - static final String MANAGEMENT_ENDPOINT_BASE_PATH = "management.endpoints.web.base-path"; - - private AnsProperties ansProperties; - - private ApplicationContext context; - - public AnsRegistration(AnsProperties ansProperties, ApplicationContext context) { - this.ansProperties = ansProperties; - this.context = context; - } - - @PostConstruct - public void init() { - - Map metadata = ansProperties.getClientMetadata(); - Environment env = context.getEnvironment(); - - String endpointBasePath = env.getProperty(MANAGEMENT_ENDPOINT_BASE_PATH); - if (!StringUtils.isEmpty(endpointBasePath)) { - metadata.put(MANAGEMENT_ENDPOINT_BASE_PATH, endpointBasePath); - } - - Integer managementPort = ManagementServerPortUtils.getPort(context); - if (null != managementPort) { - metadata.put(MANAGEMENT_PORT, managementPort.toString()); - String contextPath = env - .getProperty("management.server.servlet.context-path"); - String address = env.getProperty("management.server.address"); - if (!StringUtils.isEmpty(contextPath)) { - metadata.put(MANAGEMENT_CONTEXT_PATH, contextPath); - } - if (!StringUtils.isEmpty(address)) { - metadata.put(MANAGEMENT_ADDRESS, address); - } - } - } - - @Override - public String getServiceId() { - return ansProperties.getClientDomains(); - } - - @Override - public String getHost() { - return ansProperties.getClientIp(); - } - - @Override - public int getPort() { - return ansProperties.getClientPort(); - } - - public void setPort(int port) { - // if spring.cloud.ans.port is not set,use the port detected from context - if (ansProperties.getClientPort() < 0) { - this.ansProperties.setClientPort(port); - } - } - - @Override - public boolean isSecure() { - return ansProperties.isSecure(); - } - - @Override - public URI getUri() { - return DefaultServiceInstance.getUri(this); - } - - @Override - public Map getMetadata() { - return ansProperties.getClientMetadata(); - } - - public boolean isRegisterEnabled() { - return ansProperties.isRegisterEnabled(); - } - - public String getCluster() { - return ansProperties.getClientCluster(); - } - - public float getRegisterWeight(String dom) { - if (null != ansProperties.getClientWeights().get(dom) - && ansProperties.getClientWeights().get(dom) > 0) { - return ansProperties.getClientWeights().get(dom); - } - return ansProperties.getClientWeight(); - } - - public AnsProperties getAnsProperties() { - return ansProperties; - } - - @Override - public String toString() { - return "AnsRegistration{" + "ansProperties=" + ansProperties + '}'; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsServiceRegistry.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsServiceRegistry.java deleted file mode 100644 index afcd5dba..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/registry/AnsServiceRegistry.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.ipms.NodeReactor; -import org.apache.commons.lang.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.cloud.client.serviceregistry.ServiceRegistry; - -/** - * @author xiaolongzuo - */ -public class AnsServiceRegistry implements ServiceRegistry { - - private static final Logger log = LoggerFactory.getLogger(AnsServiceRegistry.class); - - private static final String SEPARATOR = ","; - - @Override - public void register(AnsRegistration registration) { - - if (!registration.isRegisterEnabled()) { - log.warn("Registration is disabled..."); - return; - } - if (StringUtils.isEmpty(registration.getServiceId())) { - log.warn("No service to register for client..."); - return; - } - - List tags = new ArrayList<>(); - for (Map.Entry entry : registration.getAnsProperties().getTags() - .entrySet()) { - NodeReactor.Tag tag = new NodeReactor.Tag(); - tag.setName(entry.getKey()); - tag.setValue(entry.getValue()); - tags.add(tag); - } - - for (String dom : registration.getServiceId().split(SEPARATOR)) { - try { - NamingService.regDom(dom, registration.getHost(), registration.getPort(), - registration.getRegisterWeight(dom), registration.getCluster(), - tags); - log.info("INFO_ANS_REGISTER, {} {}:{} register finished", dom, - registration.getAnsProperties().getClientIp(), - registration.getAnsProperties().getClientPort()); - } - catch (Exception e) { - log.error("ERR_ANS_REGISTER, {} register failed...{},", dom, - registration.toString(), e); - } - } - } - - @Override - public void deregister(AnsRegistration registration) { - - log.info("De-registering from ANSServer now..."); - - if (StringUtils.isEmpty(registration.getServiceId())) { - log.warn("No dom to de-register for client..."); - return; - } - - try { - NamingService.deRegDom(registration.getServiceId(), registration.getHost(), - registration.getPort(), registration.getCluster()); - } - catch (Exception e) { - log.error("ERR_ANS_DEREGISTER, de-register failed...{},", - registration.toString(), e); - } - - log.info("De-registration finished."); - } - - @Override - public void close() { - - } - - @Override - public void setStatus(AnsRegistration registration, String status) { - - } - - @Override - public T getStatus(AnsRegistration registration) { - return null; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsRibbonClientConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsRibbonClientConfiguration.java deleted file mode 100644 index ca082a49..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsRibbonClientConfiguration.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import com.netflix.client.config.IClientConfig; -import com.netflix.loadbalancer.ServerList; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - * @author pbting - */ -@Configuration(proxyBeanMethods = false) -public class AnsRibbonClientConfiguration { - - @Bean - @ConditionalOnMissingBean - public ServerList ansRibbonServerList(IClientConfig config) { - AnsServerList serverList = new AnsServerList(config.getClientName()); - return serverList; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsServer.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsServer.java deleted file mode 100644 index e335642e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsServer.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import java.util.Collections; -import java.util.Map; - -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import com.netflix.loadbalancer.Server; - -/** - * @author xiaolongzuo - */ -public class AnsServer extends Server { - - private final MetaInfo metaInfo; - - private final Host host; - - private final Map metadata; - - public AnsServer(final Host host, final String dom) { - super(host.getIp(), host.getPort()); - this.host = host; - this.metadata = Collections.emptyMap(); - metaInfo = new MetaInfo() { - @Override - public String getAppName() { - return dom; - } - - @Override - public String getServerGroup() { - return getMetadata().get("group"); - } - - @Override - public String getServiceIdForDiscovery() { - return dom; - } - - @Override - public String getInstanceId() { - return AnsServer.this.host.getIp() + ":" + dom + ":" - + AnsServer.this.host.getPort(); - } - }; - } - - @Override - public MetaInfo getMetaInfo() { - return metaInfo; - } - - public Host getHealthService() { - return this.host; - } - - public Map getMetadata() { - return metadata; - } - - @Override - public String toString() { - return "AnsServer{" + "metaInfo=" + metaInfo + ", host=" + host + ", metadata=" - + metadata + '}'; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsServerList.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsServerList.java deleted file mode 100644 index 1ae1d9fd..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/AnsServerList.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import com.netflix.client.config.IClientConfig; -import com.netflix.loadbalancer.AbstractServerList; - -/** - * @author xiaolongzuo - */ -public class AnsServerList extends AbstractServerList { - - private String dom; - - public AnsServerList(String dom) { - this.dom = dom; - } - - @Override - public List getInitialListOfServers() { - try { - List hosts = NamingService.getHosts(getDom()); - return hostsToServerList(hosts); - } - catch (Exception e) { - throw new IllegalStateException("Can not get ans hosts, dom=" + getDom(), e); - } - } - - @Override - public List getUpdatedListOfServers() { - return getInitialListOfServers(); - } - - private AnsServer hostToServer(Host host) { - AnsServer server = new AnsServer(host, getDom()); - return server; - } - - private List hostsToServerList(List hosts) { - List result = new ArrayList(hosts.size()); - for (Host host : hosts) { - if (host.isValid()) { - result.add(hostToServer(host)); - } - } - - return result; - } - - public String getDom() { - return dom; - } - - @Override - public void initWithNiwsConfig(IClientConfig iClientConfig) { - this.dom = iClientConfig.getClientName(); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/ConditionalOnRibbonAns.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/ConditionalOnRibbonAns.java deleted file mode 100644 index f404fbe1..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/ConditionalOnRibbonAns.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; - -/** - * @author xiaolongzuo - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.TYPE, ElementType.METHOD }) -@ConditionalOnProperty(value = "ribbon.ans.enabled", matchIfMissing = true) -public @interface ConditionalOnRibbonAns { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/RibbonAnsAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/RibbonAnsAutoConfiguration.java deleted file mode 100644 index 95e15c15..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/java/com/alibaba/alicloud/ans/ribbon/RibbonAnsAutoConfiguration.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import com.alibaba.alicloud.ans.ConditionalOnAnsEnabled; - -import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration; -import org.springframework.cloud.netflix.ribbon.RibbonClients; -import org.springframework.cloud.netflix.ribbon.SpringClientFactory; -import org.springframework.context.annotation.Configuration; - -/** - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties -@ConditionalOnAnsEnabled -@ConditionalOnBean(SpringClientFactory.class) -@ConditionalOnRibbonAns -@AutoConfigureAfter(RibbonAutoConfiguration.class) -@RibbonClients(defaultConfiguration = AnsRibbonClientConfiguration.class) -public class RibbonAnsAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/resources/META-INF/spring.factories deleted file mode 100644 index c297fef7..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,5 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.alibaba.alicloud.ans.endpoint.AnsEndpointAutoConfiguration,\ - com.alibaba.alicloud.ans.ribbon.RibbonAnsAutoConfiguration,\ - com.alibaba.alicloud.ans.AnsAutoConfiguration,\ - com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/AnsDiscoveryClientTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/AnsDiscoveryClientTests.java deleted file mode 100644 index 67bfb692..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/AnsDiscoveryClientTests.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import com.alibaba.alicloud.ans.test.AnsMockTest; -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import org.springframework.cloud.client.ServiceInstance; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.when; - -/** - * @author xiaojing - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(NamingService.class) -public class AnsDiscoveryClientTests { - - private String host = "123.123.123.123"; - - private int port = 8888; - - private String serviceName = "test-service"; - - @Test - public void testGetServers() throws Exception { - - ArrayList hosts = new ArrayList<>(); - - HashMap map = new HashMap<>(); - map.put("test-key", "test-value"); - map.put("secure", "true"); - - hosts.add(AnsMockTest.hostInstance(serviceName, false, host, port, map)); - - PowerMockito.mockStatic(NamingService.class); - when(NamingService.getHosts(eq(serviceName))).thenReturn(hosts); - - AnsDiscoveryClient discoveryClient = new AnsDiscoveryClient(); - - List serviceInstances = discoveryClient - .getInstances(serviceName); - - assertThat(serviceInstances.size()).isEqualTo(1); - - ServiceInstance serviceInstance = serviceInstances.get(0); - - assertThat(serviceInstance.getServiceId()).isEqualTo(serviceName); - assertThat(serviceInstance.getHost()).isEqualTo(host); - assertThat(serviceInstance.getPort()).isEqualTo(port); - // assertThat(serviceInstance.isSecure()).isEqualTo(true); - // ans doesn't support metadata - assertThat(serviceInstance.getUri().toString()) - .isEqualTo(getUri(serviceInstance)); - // assertThat(serviceInstance.getMetadata().get("test-key")).isEqualTo("test-value"); - // ans doesn't support metadata - - } - - @Test - public void testGetAllService() throws Exception { - - Set subscribedServices = new HashSet<>(); - - subscribedServices.add(serviceName + "1"); - subscribedServices.add(serviceName + "2"); - subscribedServices.add(serviceName + "3"); - - PowerMockito.mockStatic(NamingService.class); - when(NamingService.getDomsSubscribed()).thenReturn(subscribedServices); - - AnsDiscoveryClient discoveryClient = new AnsDiscoveryClient(); - List services = discoveryClient.getServices(); - - assertThat(services.size()).isEqualTo(3); - assertThat(services.contains(serviceName + "1")); - assertThat(services.contains(serviceName + "2")); - assertThat(services.contains(serviceName + "3")); - - } - - private String getUri(ServiceInstance instance) { - - if (instance.isSecure()) { - return "https://" + host + ":" + port; - } - - return "http://" + host + ":" + port; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationEnabledTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationEnabledTests.java deleted file mode 100644 index 3763449d..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationEnabledTests.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.alibaba.alicloud.context.ans.AnsProperties; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AnsAutoServiceRegistrationEnabledTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.server-port=8080", - "spring.cloud.alicloud.ans.register-enabled=false" }, - webEnvironment = RANDOM_PORT) -public class AnsAutoServiceRegistrationEnabledTests { - - @Autowired - private AnsRegistration registration; - - @Autowired - private AnsAutoServiceRegistration ansAutoServiceRegistration; - - @Autowired - private AnsProperties properties; - - @Test - public void contextLoads() throws Exception { - assertThat(registration).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(ansAutoServiceRegistration).isNotNull(); - - checkEnabled(); - - } - - private void checkEnabled() { - assertThat(ansAutoServiceRegistration.isEnabled()).isEqualTo(Boolean.FALSE); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationIpNetworkInterfaceTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationIpNetworkInterfaceTests.java deleted file mode 100644 index 90867ea2..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationIpNetworkInterfaceTests.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import java.net.Inet4Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.util.Enumeration; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.alibaba.alicloud.context.ans.AnsProperties; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.cloud.commons.util.InetUtils; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ - -@RunWith(SpringRunner.class) -@SpringBootTest( - classes = AnsAutoServiceRegistrationIpNetworkInterfaceTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.server-port=8080" }, - webEnvironment = RANDOM_PORT) -public class AnsAutoServiceRegistrationIpNetworkInterfaceTests { - - @Autowired - private AnsRegistration registration; - - @Autowired - private AnsAutoServiceRegistration ansAutoServiceRegistration; - - @Autowired - private AnsProperties properties; - - @Autowired - private InetUtils inetUtils; - - @Test - public void contextLoads() throws Exception { - - assertThat(registration).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(ansAutoServiceRegistration).isNotNull(); - - checkoutAnsDiscoveryServiceIP(); - - } - - private void checkoutAnsDiscoveryServiceIP() { - assertThat(registration.getHost()) - .isEqualTo(getIPFromNetworkInterface(TestConfig.netWorkInterfaceName)); - } - - private String getIPFromNetworkInterface(String networkInterface) { - - if (!TestConfig.hasValidNetworkInterface) { - return inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); - } - - try { - NetworkInterface netInterface = NetworkInterface.getByName(networkInterface); - - Enumeration inetAddress = netInterface.getInetAddresses(); - while (inetAddress.hasMoreElements()) { - InetAddress currentAddress = inetAddress.nextElement(); - if (currentAddress instanceof Inet4Address - && !currentAddress.isLoopbackAddress()) { - return currentAddress.getHostAddress(); - } - } - return networkInterface; - } - catch (Exception e) { - return networkInterface; - } - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class }) - public static class TestConfig { - - static boolean hasValidNetworkInterface = false; - static String netWorkInterfaceName; - - static { - - try { - Enumeration enumeration = NetworkInterface - .getNetworkInterfaces(); - while (enumeration.hasMoreElements() && !hasValidNetworkInterface) { - NetworkInterface networkInterface = enumeration.nextElement(); - Enumeration inetAddress = networkInterface - .getInetAddresses(); - while (inetAddress.hasMoreElements()) { - InetAddress currentAddress = inetAddress.nextElement(); - if (currentAddress instanceof Inet4Address - && !currentAddress.isLoopbackAddress()) { - hasValidNetworkInterface = true; - netWorkInterfaceName = networkInterface.getName(); - System.setProperty( - "spring.cloud.alicloud.ans.client-interface-name", - networkInterface.getName()); - break; - } - } - } - - } - catch (Exception e) { - - } - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationIpTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationIpTests.java deleted file mode 100644 index 036a7ffa..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationIpTests.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.alibaba.alicloud.context.ans.AnsProperties; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AnsAutoServiceRegistrationIpTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "spring.cloud.alicloud.ans.client-domains=myTestService2", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.client-weight=2", - "spring.cloud.alicloud.ans.server-port=8080", - "spring.cloud.alicloud.ans.client-ip=123.123.123.123" }, - webEnvironment = RANDOM_PORT) -public class AnsAutoServiceRegistrationIpTests { - - @Autowired - private AnsRegistration registration; - - @Autowired - private AnsAutoServiceRegistration ansAutoServiceRegistration; - - @Autowired - private AnsProperties properties; - - @Test - public void contextLoads() throws Exception { - - assertThat(registration).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(ansAutoServiceRegistration).isNotNull(); - - checkoutAnsDiscoveryServiceIP(); - checkoutAnsDiscoveryServiceName(); - checkoutAnsDiscoveryWeight(); - } - - private void checkoutAnsDiscoveryServiceIP() { - assertThat(registration.getHost()).isEqualTo("123.123.123.123"); - } - - private void checkoutAnsDiscoveryServiceName() { - assertThat(properties.getClientDomains()).isEqualTo("myTestService2"); - } - - private void checkoutAnsDiscoveryWeight() { - assertThat(properties.getClientWeight()).isEqualTo(2L); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationManagementPortTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationManagementPortTests.java deleted file mode 100644 index e8a1846c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationManagementPortTests.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.alibaba.alicloud.context.ans.AnsProperties; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AnsAutoServiceRegistrationManagementPortTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "management.server.port=8888", - "management.server.servlet.context-path=/test-context-path", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.server-port=8080" }, - webEnvironment = RANDOM_PORT) -public class AnsAutoServiceRegistrationManagementPortTests { - - @Autowired - private AnsRegistration registration; - - @Autowired - private AnsAutoServiceRegistration ansAutoServiceRegistration; - - @Autowired - private AnsProperties properties; - - @Test - public void contextLoads() throws Exception { - - assertThat(registration).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(ansAutoServiceRegistration).isNotNull(); - - checkoutNacosDiscoveryManagementData(); - - } - - private void checkoutNacosDiscoveryManagementData() { - assertThat(properties.getClientMetadata().get(AnsRegistration.MANAGEMENT_PORT)) - .isEqualTo("8888"); - assertThat(properties.getClientMetadata() - .get(AnsRegistration.MANAGEMENT_CONTEXT_PATH)) - .isEqualTo("/test-context-path"); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationPortTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationPortTests.java deleted file mode 100644 index 7e997b6c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationPortTests.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.alibaba.alicloud.context.ans.AnsProperties; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AnsAutoServiceRegistrationPortTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.server-port=8080", - "spring.cloud.alicloud.ans.client-port=8888" }, - webEnvironment = RANDOM_PORT) -public class AnsAutoServiceRegistrationPortTests { - - @Autowired - private AnsRegistration registration; - - @Autowired - private AnsAutoServiceRegistration ansAutoServiceRegistration; - - @Autowired - private AnsProperties properties; - - @Test - public void contextLoads() throws Exception { - - assertThat(registration).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(ansAutoServiceRegistration).isNotNull(); - - checkoutAnsDiscoveryServicePort(); - - } - - private void checkoutAnsDiscoveryServicePort() { - assertThat(registration.getPort()).isEqualTo(8888); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationTests.java deleted file mode 100644 index b9782373..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/registry/AnsAutoServiceRegistrationTests.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.registry; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.alibaba.alicloud.ans.endpoint.AnsEndpoint; -import com.alibaba.alicloud.context.ans.AnsProperties; -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.web.server.LocalServerPort; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.cloud.commons.util.InetUtils; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AnsAutoServiceRegistrationTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.server-port=8080", - "spring.cloud.alicloud.ans.secure=true", - "spring.cloud.alicloud.ans.endpoint=test-endpoint" }, - webEnvironment = RANDOM_PORT) -public class AnsAutoServiceRegistrationTests { - - @Autowired - private AnsRegistration registration; - - @Autowired - private AnsAutoServiceRegistration ansAutoServiceRegistration; - - @LocalServerPort - private int port; - - @Autowired - private AnsProperties properties; - - @Autowired - private InetUtils inetUtils; - - @Test - public void contextLoads() throws Exception { - - assertThat(registration).isNotNull(); - assertThat(properties).isNotNull(); - assertThat(ansAutoServiceRegistration).isNotNull(); - - checkoutAnsDiscoveryServerList(); - checkoutAnsDiscoveryServerPort(); - - checkoutAnsDiscoveryServiceName(); - checkoutAnsDiscoveryServiceIP(); - checkoutAnsDiscoveryServicePort(); - checkoutAnsDiscoverySecure(); - - checkAutoRegister(); - - checkoutEndpoint(); - - } - - private void checkAutoRegister() { - assertThat(ansAutoServiceRegistration.isRunning()).isEqualTo(Boolean.TRUE); - } - - private void checkoutAnsDiscoveryServerList() { - assertThat(properties.getServerList()).isEqualTo("127.0.0.1"); - } - - private void checkoutAnsDiscoveryServerPort() { - assertThat(properties.getServerPort()).isEqualTo("8080"); - } - - private void checkoutAnsDiscoveryServiceName() { - assertThat(properties.getClientDomains()).isEqualTo("myTestService1"); - } - - private void checkoutAnsDiscoveryServiceIP() { - assertThat(registration.getHost()) - .isEqualTo(inetUtils.findFirstNonLoopbackHostInfo().getIpAddress()); - } - - private void checkoutAnsDiscoveryServicePort() { - assertThat(registration.getPort()).isEqualTo(port); - } - - private void checkoutAnsDiscoverySecure() { - assertThat(properties.isSecure()).isEqualTo(Boolean.TRUE); - - } - - private void checkoutEndpoint() throws Exception { - AnsEndpoint ansEndpoint = new AnsEndpoint(properties); - Map map = ansEndpoint.invoke(); - assertThat(properties).isEqualTo(map.get("ansProperties")); - - Map subscribes = new HashMap<>(); - Set subscribeServices = NamingService.getDomsSubscribed(); - for (String service : subscribeServices) { - try { - List hosts = NamingService.getHosts(service); - subscribes.put(service, hosts); - } - catch (Exception ignoreException) { - - } - } - - assertThat(subscribes).isEqualTo(map.get("subscribes")); - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsRibbonClientConfigurationTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsRibbonClientConfigurationTests.java deleted file mode 100644 index e5710e1e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsRibbonClientConfigurationTests.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import com.alibaba.alicloud.ans.AnsAutoConfiguration; -import com.alibaba.alicloud.ans.AnsDiscoveryClientAutoConfiguration; -import com.netflix.client.config.DefaultClientConfigImpl; -import com.netflix.client.config.IClientConfig; -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.client.loadbalancer.LoadBalanced; -import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.client.RestTemplate; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -/** - * @author xiaojing - */ -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AnsRibbonClientConfigurationTests.TestConfig.class, - properties = { "spring.application.name=myTestService1", - "spring.cloud.alicloud.ans.server-list=127.0.0.1", - "spring.cloud.alicloud.ans.server-port=8080", - "spring.cloud.alicloud.ans.endpoint=test-endpoint" }, - webEnvironment = RANDOM_PORT) -public class AnsRibbonClientConfigurationTests { - - @Autowired - private AnsServerList serverList; - - @Test - public void contextLoads() throws Exception { - assertThat(serverList.getDom()).isEqualTo("myapp"); - } - - @Configuration - public static class AnsRibbonTestConfiguration { - - @Bean - IClientConfig iClientConfig() { - DefaultClientConfigImpl config = new DefaultClientConfigImpl(); - config.setClientName("myapp"); - return config; - } - - @Bean - @LoadBalanced - RestTemplate restTemplate() { - return new RestTemplate(); - } - - } - - @Configuration - @EnableAutoConfiguration - @ImportAutoConfiguration({ AutoServiceRegistrationConfiguration.class, - AnsDiscoveryClientAutoConfiguration.class, AnsAutoConfiguration.class, - AnsRibbonTestConfiguration.class, RibbonAnsAutoConfiguration.class, - AnsRibbonClientConfiguration.class }) - public static class TestConfig { - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsServerListTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsServerListTests.java deleted file mode 100644 index 344792a7..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsServerListTests.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.stream.Collectors; - -import com.alibaba.alicloud.ans.test.AnsMockTest; -import com.alibaba.ans.core.NamingService; -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import com.netflix.client.config.IClientConfig; -import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -/** - * @author xiaojing - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({ NamingService.class, AnsServer.class }) -public class AnsServerListTests { - - @Test - @SuppressWarnings("unchecked") - public void testEmptyInstancesReturnsEmptyList() throws Exception { - - PowerMockito.mockStatic(NamingService.class); - when(NamingService.getHosts(anyString())).thenReturn(Collections.EMPTY_LIST); - - IClientConfig clientConfig = mock(IClientConfig.class); - when(clientConfig.getClientName()).thenReturn("test-service"); - AnsServerList serverList = new AnsServerList("test-service"); - serverList.initWithNiwsConfig(clientConfig); - List servers = serverList.getInitialListOfServers(); - Assertions.assertThat(servers).isEmpty(); - } - - @Test - @SuppressWarnings("unchecked") - public void testGetServers() throws Exception { - - ArrayList hosts = new ArrayList<>(); - hosts.add(AnsMockTest.hostInstance("test-service", true, Collections.emptyMap())); - - PowerMockito.mockStatic(NamingService.class); - when(NamingService.getHosts(anyString())).thenReturn(hosts); - - IClientConfig clientConfig = mock(IClientConfig.class); - when(clientConfig.getClientName()).thenReturn("test-service"); - AnsServerList serverList = new AnsServerList("test-service"); - serverList.initWithNiwsConfig(clientConfig); - List servers = serverList.getInitialListOfServers(); - Assertions.assertThat(servers).hasSize(1); - - servers = serverList.getUpdatedListOfServers(); - Assertions.assertThat(servers).hasSize(1); - } - - @Test - @SuppressWarnings("unchecked") - public void testGetServersWithInstanceStatus() throws Exception { - ArrayList hosts = new ArrayList<>(); - - HashMap map1 = new HashMap<>(); - map1.put("instanceNum", "1"); - HashMap map2 = new HashMap<>(); - map2.put("instanceNum", "2"); - hosts.add(AnsMockTest.hostInstance("test-service", false, map1)); - hosts.add(AnsMockTest.hostInstance("test-service", true, map2)); - - PowerMockito.mockStatic(NamingService.class); - when(NamingService.getHosts(eq("test-service"))).thenReturn( - hosts.stream().filter(Host::isValid).collect(Collectors.toList())); - - IClientConfig clientConfig = mock(IClientConfig.class); - when(clientConfig.getClientName()).thenReturn("test-service"); - AnsServerList serverList = new AnsServerList("test-service"); - serverList.initWithNiwsConfig(clientConfig); - List servers = serverList.getInitialListOfServers(); - Assertions.assertThat(servers).hasSize(1); - - AnsServer ansServer = servers.get(0); - Host host = ansServer.getHealthService(); - - assertThat(ansServer.getMetaInfo().getInstanceId()).isEqualTo( - host.getIp() + ":" + host.getHostname() + ":" + host.getPort()); - assertThat(ansServer.getHealthService().isValid()).isEqualTo(true); - assertThat(ansServer.getHealthService().getHostname()).isEqualTo("test-service"); - - } - - @Test - public void testUpdateServers() throws Exception { - ArrayList hosts = new ArrayList<>(); - - HashMap map = new HashMap<>(); - map.put("instanceNum", "1"); - hosts.add(AnsMockTest.hostInstance("test-service", true, map)); - - PowerMockito.mockStatic(NamingService.class); - when(NamingService.getHosts(eq("test-service"))).thenReturn( - hosts.stream().filter(Host::isValid).collect(Collectors.toList())); - - IClientConfig clientConfig = mock(IClientConfig.class); - when(clientConfig.getClientName()).thenReturn("test-service"); - AnsServerList serverList = new AnsServerList("test-service"); - serverList.initWithNiwsConfig(clientConfig); - - List servers = serverList.getUpdatedListOfServers(); - Assertions.assertThat(servers).hasSize(1); - - assertThat(servers.get(0).getHealthService().isValid()).isEqualTo(true); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsServiceListTests.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsServiceListTests.java deleted file mode 100644 index 57d6faa2..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/ribbon/AnsServiceListTests.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.ribbon; - -import java.util.Arrays; -import java.util.List; - -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; -import com.netflix.loadbalancer.Server; -import org.junit.Test; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.mock; - -/** - * @author xiaolongzuo - */ -public class AnsServiceListTests { - - static final String IP_ADDR = "10.0.0.2"; - - static final int PORT = 8080; - - @Test - public void testAnsServer() { - AnsServerList serverList = getAnsServerList(); - List servers = serverList.getInitialListOfServers(); - assertThat(servers).isNotNull(); - assertThat(servers.size()).isEqualTo(1); - Server des = assertAnsServer(servers); - assertThat(des.getHostPort()).isEqualTo(IP_ADDR + ":" + PORT); - } - - protected Server assertAnsServer(List servers) { - Server actualServer = servers.get(0); - assertThat(actualServer instanceof AnsServer).isEqualTo(Boolean.TRUE); - AnsServer des = AnsServer.class.cast(actualServer); - assertThat(des.getHealthService()).isNotNull(); - assertThat(des.getHealthService().getUnit()).isEqualTo("DEFAULT"); - return des; - } - - protected AnsServerList getAnsServerList() { - Host host = mock(Host.class); - given(host.getIp()).willReturn(IP_ADDR); - given(host.getDoubleWeight()).willReturn(1.0); - given(host.getPort()).willReturn(PORT); - given(host.getWeight()).willReturn(1); - given(host.getUnit()).willReturn("DEFAULT"); - - AnsServer server = new AnsServer(host, "testDom"); - @SuppressWarnings("unchecked") - AnsServerList originalServerList = mock(AnsServerList.class); - given(originalServerList.getInitialListOfServers()) - .willReturn(Arrays.asList(server)); - return originalServerList; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/test/AnsMockTest.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/test/AnsMockTest.java deleted file mode 100644 index 0b18f41e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-ans/src/test/java/com/alibaba/alicloud/ans/test/AnsMockTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.ans.test; - -import java.util.Map; - -import com.alibaba.ans.shaded.com.taobao.vipserver.client.core.Host; - -/** - * @author xiaojing - */ -public final class AnsMockTest { - - private AnsMockTest() { - - } - - public static Host hostInstance(String serviceName, boolean valid, - Map metadata) { - Host host = new Host(); - host.setHostname(serviceName); - host.setValid(valid); - return host; - } - - public static Host hostInstance(String serviceName, boolean valid, String ip, - int port, Map metadata) { - Host host = new Host(); - host.setIp(ip); - host.setPort(port); - host.setValid(valid); - host.setHostname(serviceName); - return host; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml deleted file mode 100644 index 1c38c12f..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ - - 4.0.0 - - - com.alibaba.cloud - spring-cloud-starter-alicloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - spring-cloud-starter-alicloud-oss - Spring Cloud Starter Alibaba Cloud OSS - - - - com.alibaba.cloud - spring-cloud-alicloud-context - - - - com.aliyun.oss - aliyun-sdk-oss - - - - org.springframework.boot - spring-boot-actuator - true - - - - org.springframework.boot - spring-boot-actuator-autoconfigure - true - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - org.slf4j - slf4j-api - true - - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.mockito - mockito-core - test - - - com.aliyun.oss - aliyun-sdk-oss - - - org.springframework.boot - spring-boot-starter - - - - diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssApplicationListener.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssApplicationListener.java deleted file mode 100644 index 030464d1..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssApplicationListener.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss; - -import java.util.Map; - -import com.aliyun.oss.OSS; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ContextClosedEvent; - -/** - * Shutdown All OSS Clients when {@code ApplicationContext} gets closed - * {@link ApplicationListener}. - * - * @author Jim - */ -public class OssApplicationListener implements ApplicationListener { - - private static final Logger log = LoggerFactory - .getLogger(OssApplicationListener.class); - - @Override - public void onApplicationEvent(ContextClosedEvent event) { - Map ossClientMap = event.getApplicationContext() - .getBeansOfType(OSS.class); - log.info("{} OSSClients will be shutdown soon", ossClientMap.size()); - ossClientMap.keySet().forEach(beanName -> { - log.info("shutdown ossClient: {}", beanName); - ossClientMap.get(beanName).shutdown(); - }); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssAutoConfiguration.java deleted file mode 100644 index 5c6b168c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssAutoConfiguration.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.SynchronousQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - -import com.alibaba.alicloud.oss.resource.OssStorageProtocolResolver; -import com.aliyun.oss.OSS; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import static com.alibaba.alicloud.oss.OssConstants.OSS_TASK_EXECUTOR_BEAN_NAME; - -/** - * OSS Auto {@link Configuration}. - * - * @author Jim - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnClass(OSS.class) -@ConditionalOnProperty(name = OssConstants.ENABLED, havingValue = "true", - matchIfMissing = true) -public class OssAutoConfiguration { - - @Bean - @ConditionalOnMissingBean - public OssStorageProtocolResolver ossStorageProtocolResolver() { - return new OssStorageProtocolResolver(); - } - - @Bean(name = OSS_TASK_EXECUTOR_BEAN_NAME) - @ConditionalOnMissingBean - public ExecutorService ossTaskExecutor() { - int coreSize = Runtime.getRuntime().availableProcessors(); - return new ThreadPoolExecutor(coreSize, 128, 60, TimeUnit.SECONDS, - new SynchronousQueue<>()); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssConstants.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssConstants.java deleted file mode 100644 index 6552959a..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/OssConstants.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss; - -/** - * OSS constants. - * - * @author Jim - */ -public final class OssConstants { - - /** - * Prefix of OSSConfigurationProperties. - */ - public static final String PREFIX = "spring.cloud.alibaba.oss"; - - /** - * Enable OSS. - */ - public static final String ENABLED = PREFIX + ".enabled"; - - /** - * OSS ThreadPool bean name. - */ - public static final String OSS_TASK_EXECUTOR_BEAN_NAME = "ossTaskExecutor"; - - private OssConstants() { - throw new AssertionError("Must not instantiate constant utility class"); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/endpoint/OssEndpoint.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/endpoint/OssEndpoint.java deleted file mode 100644 index 96d14a82..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/endpoint/OssEndpoint.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss.endpoint; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.aliyun.oss.OSSClient; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; -import org.springframework.context.ApplicationContext; - -/** - * Actuator {@link Endpoint} to expose OSS Meta Data. - * - * @author Jim - */ -@Endpoint(id = "oss") -public class OssEndpoint { - - @Autowired - private ApplicationContext applicationContext; - - @ReadOperation - public Map invoke() { - Map result = new HashMap<>(); - - Map ossClientMap = applicationContext - .getBeansOfType(OSSClient.class); - - int size = ossClientMap.size(); - - List ossClientList = new ArrayList<>(); - - ossClientMap.keySet().forEach(beanName -> { - Map ossProperties = new HashMap<>(); - OSSClient client = ossClientMap.get(beanName); - ossProperties.put("beanName", beanName); - ossProperties.put("endpoint", client.getEndpoint().toString()); - ossProperties.put("clientConfiguration", client.getClientConfiguration()); - ossProperties.put("credentials", - client.getCredentialsProvider().getCredentials()); - ossProperties.put("bucketList", client.listBuckets().stream() - .map(bucket -> bucket.getName()).toArray()); - ossClientList.add(ossProperties); - }); - - result.put("size", size); - result.put("info", ossClientList); - - return result; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/endpoint/OssEndpointAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/endpoint/OssEndpointAutoConfiguration.java deleted file mode 100644 index 8ac753c7..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/endpoint/OssEndpointAutoConfiguration.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss.endpoint; - -import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * OSS {@link Endpoint} Auto-{@link Configuration}. - * - * @author Jim - */ -@ConditionalOnClass(Endpoint.class) -public class OssEndpointAutoConfiguration { - - @Bean - @ConditionalOnMissingBean - @ConditionalOnEnabledEndpoint - public OssEndpoint ossEndpoint() { - return new OssEndpoint(); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/resource/OssStorageProtocolResolver.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/resource/OssStorageProtocolResolver.java deleted file mode 100644 index 7273f900..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/resource/OssStorageProtocolResolver.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss.resource; - -import com.aliyun.oss.OSS; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.context.ResourceLoaderAware; -import org.springframework.core.io.DefaultResourceLoader; -import org.springframework.core.io.ProtocolResolver; -import org.springframework.core.io.Resource; -import org.springframework.core.io.ResourceLoader; - -/** - * A {@link ProtocolResolver} implementation for the {@code oss://} protocol. - * - * @author Jim - */ -public class OssStorageProtocolResolver - implements ProtocolResolver, BeanFactoryPostProcessor, ResourceLoaderAware { - - /** - * protocol of oss resource. - */ - public static final String PROTOCOL = "oss://"; - - private static final Logger log = LoggerFactory - .getLogger(OssStorageProtocolResolver.class); - - private ConfigurableListableBeanFactory beanFactory; - - private OSS oss; - - private OSS getOSS() { - if (this.oss == null) { - if (this.beanFactory.getBeansOfType(OSS.class).size() > 1) { - log.warn( - "There are multiple OSS instances, consider marking one of them as @Primary to resolve oss " - + "protocol."); - } - this.oss = this.beanFactory.getBean(OSS.class); - } - return this.oss; - } - - @Override - public Resource resolve(String location, ResourceLoader resourceLoader) { - if (!location.startsWith(PROTOCOL)) { - return null; - } - return new OssStorageResource(getOSS(), location, beanFactory); - } - - @Override - public void setResourceLoader(ResourceLoader resourceLoader) { - if (DefaultResourceLoader.class.isAssignableFrom(resourceLoader.getClass())) { - ((DefaultResourceLoader) resourceLoader).addProtocolResolver(this); - } - else { - log.warn("The provided delegate resource loader is not an implementation " - + "of DefaultResourceLoader. Custom Protocol using oss:// prefix will not be enabled."); - } - } - - @Override - public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) - throws BeansException { - this.beanFactory = beanFactory; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/resource/OssStorageResource.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/resource/OssStorageResource.java deleted file mode 100644 index 3995518e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/java/com/alibaba/alicloud/oss/resource/OssStorageResource.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss.resource; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.concurrent.ExecutorService; - -import com.aliyun.oss.ClientException; -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSException; -import com.aliyun.oss.model.Bucket; -import com.aliyun.oss.model.OSSObject; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.core.io.Resource; -import org.springframework.core.io.WritableResource; -import org.springframework.util.Assert; - -import static com.alibaba.alicloud.oss.OssConstants.OSS_TASK_EXECUTOR_BEAN_NAME; - -/** - * Implements {@link Resource} for reading and writing objects in Aliyun Object Storage - * Service (OSS). An instance of this class represents a handle to a bucket or an - * OSSObject. - * - * @author Jim - * @see OSS - * @see Bucket - * @see OSSObject - */ -public class OssStorageResource implements WritableResource { - - private static final Logger logger = LoggerFactory - .getLogger(OssStorageResource.class); - - private static final String MESSAGE_KEY_NOT_EXIST = "The specified key does not exist."; - - private final OSS oss; - - private final String bucketName; - - private final String objectKey; - - private final URI location; - - private final boolean autoCreateFiles; - - private final ExecutorService ossTaskExecutor; - - private final ConfigurableListableBeanFactory beanFactory; - - public OssStorageResource(OSS oss, String location, - ConfigurableListableBeanFactory beanFactory) { - this(oss, location, beanFactory, false); - } - - public OssStorageResource(OSS oss, String location, - ConfigurableListableBeanFactory beanFactory, boolean autoCreateFiles) { - Assert.notNull(oss, "Object Storage Service can not be null"); - Assert.isTrue(location.startsWith(OssStorageProtocolResolver.PROTOCOL), - "Location must start with " + OssStorageProtocolResolver.PROTOCOL); - this.oss = oss; - this.autoCreateFiles = autoCreateFiles; - this.beanFactory = beanFactory; - try { - URI locationUri = new URI(location); - this.bucketName = locationUri.getAuthority(); - - if (locationUri.getPath() != null && locationUri.getPath().length() > 1) { - this.objectKey = locationUri.getPath().substring(1); - } - else { - this.objectKey = null; - } - this.location = locationUri; - } - catch (URISyntaxException e) { - throw new IllegalArgumentException("Invalid location: " + location, e); - } - - this.ossTaskExecutor = this.beanFactory.getBean(OSS_TASK_EXECUTOR_BEAN_NAME, - ExecutorService.class); - } - - public boolean isAutoCreateFiles() { - return this.autoCreateFiles; - } - - @Override - public boolean exists() { - try { - return isBucket() ? getBucket() != null : getOSSObject() != null; - } - catch (Exception e) { - return false; - } - } - - /** - * Since the oss: protocol will normally not have a URL stream handler registered, - * this method will always throw a {@link java.net.MalformedURLException}. - * @return The URL for the OSS resource, if a URL stream handler is registered for the - * oss protocol. - */ - @Override - public URL getURL() throws IOException { - return this.location.toURL(); - } - - @Override - public URI getURI() throws IOException { - return this.location; - } - - @Override - public File getFile() throws IOException { - throw new UnsupportedOperationException( - getDescription() + " cannot be resolved to absolute file path"); - } - - @Override - public long contentLength() throws IOException { - assertExisted(); - if (isBucket()) { - throw new FileNotFoundException("OSSObject not existed."); - } - return getOSSObject().getObjectMetadata().getContentLength(); - } - - @Override - public long lastModified() throws IOException { - assertExisted(); - if (isBucket()) { - throw new FileNotFoundException("OSSObject not existed."); - } - return getOSSObject().getObjectMetadata().getLastModified().getTime(); - } - - @Override - public Resource createRelative(String relativePath) throws IOException { - return new OssStorageResource(this.oss, - this.location.resolve(relativePath).toString(), this.beanFactory); - } - - @Override - public String getFilename() { - return isBucket() ? this.bucketName : this.objectKey; - } - - @Override - public String getDescription() { - return this.location.toString(); - } - - @Override - public InputStream getInputStream() throws IOException { - assertExisted(); - if (isBucket()) { - throw new IllegalStateException( - "Cannot open an input stream to a bucket: '" + this.location + "'"); - } - else { - return getOSSObject().getObjectContent(); - } - } - - /** - * Returns the {@link Bucket} associated with the resource. - * @return the bucket if it exists, or null otherwise - */ - public Bucket getBucket() { - return this.oss.listBuckets().stream() - .filter(bucket -> bucket.getName().equals(this.bucketName)).findFirst() - .orElse(null); - } - - /** - * Checks for the existence of the {@link Bucket} associated with the resource. - * @return true if the bucket exists - */ - public boolean bucketExists() { - return getBucket() != null; - } - - /** - * Gets the underlying resource object in Aliyun Object Storage Service. - * @return The resource object, will be null if it does not exist in Aliyun Object - * Storage Service. - * @throws OSSException it is thrown upon error when accessing OSS - * @throws ClientException it is the one thrown by the client side when accessing OSS - */ - public OSSObject getOSSObject() { - return this.oss.getObject(this.bucketName, this.objectKey); - } - - /** - * Check if this resource references a bucket and not a blob. - * @return if the resource is bucket - */ - public boolean isBucket() { - return this.objectKey == null; - } - - private void assertExisted() throws FileNotFoundException { - if (!exists()) { - throw new FileNotFoundException("Bucket or OSSObject not existed."); - } - } - - /** - * create a bucket. - * @return OSS Bucket - */ - public Bucket createBucket() { - return this.oss.createBucket(this.bucketName); - } - - @Override - public boolean isWritable() { - return !isBucket() && (this.autoCreateFiles || exists()); - } - - /** - * acquire an OutputStream for write. Note: please close the stream after writing is - * done - * @return OutputStream of OSS resource - * @throws IOException throw by oss operation - */ - @Override - public OutputStream getOutputStream() throws IOException { - if (isBucket()) { - throw new IllegalStateException( - "Cannot open an output stream to a bucket: '" + getURI() + "'"); - } - else { - OSSObject ossObject; - - try { - ossObject = this.getOSSObject(); - } - catch (OSSException ex) { - if (ex.getMessage() != null - && ex.getMessage().startsWith(MESSAGE_KEY_NOT_EXIST)) { - ossObject = null; - } - else { - throw ex; - } - } - - if (ossObject == null) { - if (!this.autoCreateFiles) { - throw new FileNotFoundException( - "The object was not found: " + getURI()); - } - - } - - PipedInputStream in = new PipedInputStream(); - final PipedOutputStream out = new PipedOutputStream(in); - - ossTaskExecutor.submit(() -> { - try { - OssStorageResource.this.oss.putObject(bucketName, objectKey, in); - } - catch (Exception ex) { - logger.error("Failed to put object", ex); - } - }); - - return out; - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 23156e69..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,5 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.alibaba.alicloud.oss.OssAutoConfiguration,\ -com.alibaba.alicloud.oss.endpoint.OssEndpointAutoConfiguration -org.springframework.context.ApplicationListener=\ -com.alibaba.alicloud.oss.OssApplicationListener \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/test/java/com/alibaba/alicloud/oss/resource/DummyOssClient.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/test/java/com/alibaba/alicloud/oss/resource/DummyOssClient.java deleted file mode 100644 index 66eeb079..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/test/java/com/alibaba/alicloud/oss/resource/DummyOssClient.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss.resource; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.aliyun.oss.model.Bucket; -import com.aliyun.oss.model.OSSObject; -import com.aliyun.oss.model.ObjectMetadata; -import com.aliyun.oss.model.PutObjectResult; - -import org.springframework.util.StreamUtils; - -/** - * @author lich - */ -public class DummyOssClient { - - private Map storeMap = new ConcurrentHashMap<>(); - - private Map bucketSet = new HashMap<>(); - - public String getStoreKey(String bucketName, String objectKey) { - return String.join(".", bucketName, objectKey); - } - - public PutObjectResult putObject(String bucketName, String objectKey, - InputStream inputStream) { - - try { - byte[] result = StreamUtils.copyToByteArray(inputStream); - storeMap.put(getStoreKey(bucketName, objectKey), result); - } - catch (IOException ex) { - throw new RuntimeException(ex); - } - finally { - try { - inputStream.close(); - } - catch (IOException ex) { - throw new RuntimeException(ex); - } - } - - return new PutObjectResult(); - } - - public OSSObject getOSSObject(String bucketName, String objectKey) { - byte[] value = storeMap.get(this.getStoreKey(bucketName, objectKey)); - if (value == null) { - return null; - } - OSSObject ossObject = new OSSObject(); - ossObject.setBucketName(bucketName); - ossObject.setKey(objectKey); - InputStream inputStream = new ByteArrayInputStream(value); - ossObject.setObjectContent(inputStream); - - ObjectMetadata objectMetadata = new ObjectMetadata(); - objectMetadata.setContentLength(value.length); - ossObject.setObjectMetadata(objectMetadata); - - return ossObject; - } - - public Bucket createBucket(String bucketName) { - if (bucketSet.containsKey(bucketName)) { - return bucketSet.get(bucketName); - } - Bucket bucket = new Bucket(); - bucket.setCreationDate(new Date()); - bucket.setName(bucketName); - bucketSet.put(bucketName, bucket); - return bucket; - } - - public List bucketList() { - return new ArrayList<>(bucketSet.values()); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/test/java/com/alibaba/alicloud/oss/resource/OssStorageResourceTest.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/test/java/com/alibaba/alicloud/oss/resource/OssStorageResourceTest.java deleted file mode 100644 index 7894a8b7..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-oss/src/test/java/com/alibaba/alicloud/oss/resource/OssStorageResourceTest.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.oss.resource; - -import java.io.ByteArrayInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Random; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.SynchronousQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - -import com.aliyun.oss.OSS; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.mockito.Mockito; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.core.io.Resource; -import org.springframework.core.io.WritableResource; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.util.StreamUtils; - -import static com.alibaba.alicloud.oss.OssConstants.OSS_TASK_EXECUTOR_BEAN_NAME; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; - -/** - * @author lich - */ -@SpringBootTest -@RunWith(SpringRunner.class) -public class OssStorageResourceTest { - - /** - * Used to test exception messages and types. - */ - @Rule - public ExpectedException expectedEx = ExpectedException.none(); - - @Autowired - private ConfigurableListableBeanFactory beanFactory; - - @Autowired - private OSS oss; - - @Value("oss://aliyun-test-bucket/") - private Resource bucketResource; - - @Value("oss://aliyun-test-bucket/myfilekey") - private Resource remoteResource; - - public static byte[] generateRandomBytes(int blen) { - byte[] array = new byte[blen]; - new Random().nextBytes(array); - return array; - } - - @Test - public void testResourceType() { - assertThat(remoteResource.getClass()).isEqualTo(OssStorageResource.class); - OssStorageResource ossStorageResource = (OssStorageResource) remoteResource; - assertThat(ossStorageResource.getFilename()).isEqualTo("myfilekey"); - assertThat(ossStorageResource.isBucket()).isEqualTo(false); - } - - @Test - public void testValidObject() throws Exception { - assertThat(remoteResource.exists()).isEqualTo(true); - OssStorageResource ossStorageResource = (OssStorageResource) remoteResource; - assertThat(ossStorageResource.bucketExists()).isEqualTo(true); - assertThat(remoteResource.contentLength()).isEqualTo(4096L); - assertThat(remoteResource.getURI().toString()) - .isEqualTo("oss://aliyun-test-bucket/myfilekey"); - assertThat(remoteResource.getFilename()).isEqualTo("myfilekey"); - } - - @Test - public void testBucketResource() throws Exception { - assertThat(bucketResource.exists()).isEqualTo(true); - assertThat(((OssStorageResource) this.bucketResource).isBucket()).isEqualTo(true); - assertThat(((OssStorageResource) this.bucketResource).bucketExists()) - .isEqualTo(true); - assertThat(bucketResource.getURI().toString()) - .isEqualTo("oss://aliyun-test-bucket/"); - assertThat(this.bucketResource.getFilename()).isEqualTo("aliyun-test-bucket"); - } - - @Test - public void testBucketNotEndingInSlash() { - assertThat( - new OssStorageResource(this.oss, "oss://aliyun-test-bucket", beanFactory) - .isBucket()).isEqualTo(true); - } - - @Test - public void testSpecifyPathCorrect() { - OssStorageResource ossStorageResource = new OssStorageResource(this.oss, - "oss://aliyun-test-bucket/myfilekey", beanFactory, false); - assertThat(ossStorageResource.exists()).isEqualTo(true); - } - - @Test - public void testSpecifyBucketCorrect() { - OssStorageResource ossStorageResource = new OssStorageResource(this.oss, - "oss://aliyun-test-bucket", beanFactory, false); - - assertThat(ossStorageResource.isBucket()).isEqualTo(true); - assertThat(ossStorageResource.getBucket().getName()) - .isEqualTo("aliyun-test-bucket"); - assertThat(ossStorageResource.exists()).isEqualTo(true); - } - - @Test - public void testBucketOutputStream() throws IOException { - this.expectedEx.expect(IllegalStateException.class); - this.expectedEx.expectMessage( - "Cannot open an output stream to a bucket: 'oss://aliyun-test-bucket/'"); - ((WritableResource) this.bucketResource).getOutputStream(); - } - - @Test - public void testBucketInputStream() throws IOException { - this.expectedEx.expect(IllegalStateException.class); - this.expectedEx.expectMessage( - "Cannot open an input stream to a bucket: 'oss://aliyun-test-bucket/'"); - this.bucketResource.getInputStream(); - } - - @Test - public void testBucketContentLength() throws IOException { - this.expectedEx.expect(FileNotFoundException.class); - this.expectedEx.expectMessage("OSSObject not existed."); - this.bucketResource.contentLength(); - } - - @Test - public void testBucketFile() throws IOException { - this.expectedEx.expect(UnsupportedOperationException.class); - this.expectedEx.expectMessage( - "oss://aliyun-test-bucket/ cannot be resolved to absolute file path"); - this.bucketResource.getFile(); - } - - @Test - public void testBucketLastModified() throws IOException { - this.expectedEx.expect(FileNotFoundException.class); - this.expectedEx.expectMessage("OSSObject not existed."); - this.bucketResource.lastModified(); - } - - @Test - public void testBucketResourceStatuses() { - assertThat(this.bucketResource.isOpen()).isEqualTo(false); - assertThat(((WritableResource) this.bucketResource).isWritable()) - .isEqualTo(false); - assertThat(this.bucketResource.exists()).isEqualTo(true); - } - - @Test - public void testWritable() throws Exception { - assertThat(this.remoteResource instanceof WritableResource).isEqualTo(true); - WritableResource writableResource = (WritableResource) this.remoteResource; - assertThat(writableResource.isWritable()).isEqualTo(true); - writableResource.getOutputStream(); - } - - @Test - public void testWritableOutputStream() throws Exception { - String location = "oss://aliyun-test-bucket/test"; - OssStorageResource resource = new OssStorageResource(this.oss, location, - beanFactory, true); - OutputStream os = resource.getOutputStream(); - assertThat(os).isNotNull(); - - byte[] randomBytes = generateRandomBytes(1203); - String expectedString = new String(randomBytes); - - os.write(randomBytes); - os.close(); - - InputStream in = resource.getInputStream(); - - byte[] result = StreamUtils.copyToByteArray(in); - String actualString = new String(result); - - assertThat(actualString).isEqualTo(expectedString); - } - - @Test - public void testCreateBucket() { - String location = "oss://my-new-test-bucket/"; - OssStorageResource resource = new OssStorageResource(this.oss, location, - beanFactory, true); - - resource.createBucket(); - - assertThat(resource.bucketExists()).isEqualTo(true); - } - - /** - * Configuration for the tests. - */ - @Configuration - @Import(OssStorageProtocolResolver.class) - static class TestConfiguration { - - @Bean(name = OSS_TASK_EXECUTOR_BEAN_NAME) - @ConditionalOnMissingBean - public ExecutorService ossTaskExecutor() { - return new ThreadPoolExecutor(8, 128, 60, TimeUnit.SECONDS, - new SynchronousQueue<>()); - } - - @Bean - public static OSS mockOSS() { - DummyOssClient dummyOssStub = new DummyOssClient(); - OSS oss = mock(OSS.class); - - doAnswer(invocation -> dummyOssStub.putObject(invocation.getArgument(0), - invocation.getArgument(1), invocation.getArgument(2))).when(oss) - .putObject(Mockito.anyString(), Mockito.anyString(), - Mockito.any(InputStream.class)); - - doAnswer(invocation -> dummyOssStub.getOSSObject(invocation.getArgument(0), - invocation.getArgument(1))).when(oss).getObject(Mockito.anyString(), - Mockito.anyString()); - - doAnswer(invocation -> dummyOssStub.bucketList()).when(oss).listBuckets(); - - doAnswer(invocation -> dummyOssStub.createBucket(invocation.getArgument(0))) - .when(oss).createBucket(Mockito.anyString()); - - // prepare object - dummyOssStub.createBucket("aliyun-test-bucket"); - - byte[] content = generateRandomBytes(4096); - ByteArrayInputStream inputStream = new ByteArrayInputStream(content); - dummyOssStub.putObject("aliyun-test-bucket", "myfilekey", inputStream); - - return oss; - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/pom.xml deleted file mode 100644 index 6076036f..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - 4.0.0 - - - com.alibaba.cloud - spring-cloud-starter-alicloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - spring-cloud-starter-alicloud-schedulerx - Spring Cloud Starter Alibaba Cloud SchedulerX - - - - org.springframework.boot - spring-boot-starter - - - - com.alibaba.cloud - spring-cloud-alicloud-context - - - - org.slf4j - slf4j-api - - - - com.alibaba.edas - schedulerX-client - - - - com.aliyun - aliyun-java-sdk-core - - - - com.aliyun - aliyun-java-sdk-edas - - - - org.springframework.boot - spring-boot-autoconfigure - true - - - - org.springframework.boot - spring-boot-actuator-autoconfigure - true - - - - org.springframework.boot - spring-boot-actuator - true - - - - diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/ScxAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/ScxAutoConfiguration.java deleted file mode 100644 index 3ee04004..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/ScxAutoConfiguration.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.scx; - -import org.springframework.context.annotation.Configuration; - -/** - * placeholder configuration. - * - * @author xiaolongzuo - */ -@Configuration(proxyBeanMethods = false) -public class ScxAutoConfiguration { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/endpoint/ScxEndpoint.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/endpoint/ScxEndpoint.java deleted file mode 100644 index 64801f94..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/endpoint/ScxEndpoint.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.scx.endpoint; - -import java.util.HashMap; -import java.util.Map; - -import com.alibaba.alicloud.context.edas.EdasProperties; -import com.alibaba.alicloud.context.scx.ScxProperties; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; - -/** - * @author xiaolongzuo - */ -@Endpoint(id = "scx") -public class ScxEndpoint { - - private static final Logger LOGGER = LoggerFactory.getLogger(ScxEndpoint.class); - - private ScxProperties scxProperties; - - private EdasProperties edasProperties; - - public ScxEndpoint(EdasProperties edasProperties, ScxProperties scxProperties) { - this.edasProperties = edasProperties; - this.scxProperties = scxProperties; - } - - /** - * @return scx endpoint - */ - @ReadOperation - public Map invoke() { - Map scxEndpoint = new HashMap<>(); - LOGGER.info("SCX endpoint invoke, scxProperties is {}", scxProperties); - scxEndpoint.put("namespace", - edasProperties == null ? "" : edasProperties.getNamespace()); - scxEndpoint.put("scxProperties", scxProperties); - return scxEndpoint; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/endpoint/ScxEndpointAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/endpoint/ScxEndpointAutoConfiguration.java deleted file mode 100644 index 366cc540..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/java/com/alibaba/alicloud/scx/endpoint/ScxEndpointAutoConfiguration.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.scx.endpoint; - -import com.alibaba.alicloud.context.edas.EdasProperties; -import com.alibaba.alicloud.context.scx.ScxProperties; - -import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; - -/** - * @author xiaolongzuo - */ -@ConditionalOnWebApplication -@ConditionalOnClass(Endpoint.class) -public class ScxEndpointAutoConfiguration { - - @Bean - @ConditionalOnMissingBean - @ConditionalOnEnabledEndpoint - public ScxEndpoint scxEndpoint(EdasProperties edasProperties, - ScxProperties scxProperties) { - return new ScxEndpoint(edasProperties, scxProperties); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 3032200c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-schedulerx/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,3 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.alibaba.alicloud.scx.endpoint.ScxEndpointAutoConfiguration,\ - com.alibaba.alicloud.scx.ScxAutoConfiguration \ No newline at end of file diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/pom.xml b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/pom.xml deleted file mode 100644 index b535a7cb..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - 4.0.0 - - - com.alibaba.cloud - spring-cloud-starter-alicloud - 2.2.1.BUILD-SNAPSHOT - ../pom.xml - - - spring-cloud-starter-alicloud-sms - Spring Cloud Starter Alibaba Cloud SMS - - - - - org.springframework.boot - spring-boot-starter - true - - - - org.springframework.boot - spring-boot-actuator-autoconfigure - true - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - org.springframework.boot - spring-boot-actuator - true - - - - org.slf4j - slf4j-api - true - - - - com.alibaba.cloud - spring-cloud-alicloud-context - - - com.aliyun - aliyun-java-sdk-core - - - - - - - com.aliyun - aliyun-java-sdk-core - - - - com.aliyun - aliyun-java-sdk-dysmsapi - - - - com.aliyun.mns - aliyun-sdk-mns - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/AbstractSmsService.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/AbstractSmsService.java deleted file mode 100644 index 4101ae9c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/AbstractSmsService.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -import java.util.concurrent.ConcurrentHashMap; - -import com.aliyuncs.DefaultAcsClient; -import com.aliyuncs.IAcsClient; -import com.aliyuncs.profile.DefaultProfile; - -/** - * @author pbting - */ -public abstract class AbstractSmsService implements ISmsService { - - private ConcurrentHashMap acsClientConcurrentHashMap = new ConcurrentHashMap<>(); - - @Override - public IAcsClient getHangZhouRegionClientProfile(String accessKeyId, - String accessKeySecret) { - - return acsClientConcurrentHashMap.computeIfAbsent( - getKey("cn-hangzhou", accessKeyId, accessKeySecret), - (iacsClient) -> new DefaultAcsClient(DefaultProfile - .getProfile("cn-hangzhou", accessKeyId, accessKeySecret))); - } - - private String getKey(String regionId, String accessKeyId, String accessKeySecret) { - - return regionId + ":" + accessKeyId + ":" + accessKeySecret; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/ISmsService.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/ISmsService.java deleted file mode 100644 index 882009db..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/ISmsService.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -import com.aliyuncs.IAcsClient; -import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse; -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsResponse; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.exceptions.ServerException; - -/** - * @author pbting - */ -public interface ISmsService { - - IAcsClient getHangZhouRegionClientProfile(String accessKeyId, String secret); - - SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest) - throws ServerException, ClientException; - - SendBatchSmsResponse sendSmsBatchRequest(SendBatchSmsRequest sendBatchSmsRequest) - throws ServerException, ClientException; - - SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest, String accessKeyId, - String accessKeySecret) throws ServerException, ClientException; - - SendBatchSmsResponse sendSmsBatchRequest(SendBatchSmsRequest sendSmsRequest, - String accessKeyId, String accessKeySecret) - throws ServerException, ClientException; - - boolean startSmsReportMessageListener( - SmsReportMessageListener smsReportMessageListener); - - boolean startSmsUpMessageListener(SmsUpMessageListener smsUpMessageListener); - - QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request, - String accessKeyId, String accessKeySecret) throws ClientException; - - QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request) - throws ClientException; - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsInitializerEventListener.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsInitializerEventListener.java deleted file mode 100644 index a356b0b5..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsInitializerEventListener.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -import java.util.Collection; -import java.util.concurrent.atomic.AtomicBoolean; - -import com.alibaba.alicloud.context.sms.SmsProperties; -import com.alibaba.alicloud.sms.base.MessageListener; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.profile.DefaultProfile; - -import org.springframework.boot.context.event.ApplicationStartedEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * @author pbting - */ -@Component -public class SmsInitializerEventListener - implements ApplicationListener { - - private final AtomicBoolean isCalled = new AtomicBoolean(false); - - private SmsProperties msConfigProperties; - - private ISmsService smsService; - - public SmsInitializerEventListener(SmsProperties msConfigProperties, - ISmsService smsService) { - this.msConfigProperties = msConfigProperties; - this.smsService = smsService; - } - - @Override - public void onApplicationEvent(ApplicationStartedEvent event) { - if (!isCalled.compareAndSet(false, true)) { - return; - } - - // 整个application context refreshed then do - // 可自助调整超时时间 - System.setProperty("sun.net.client.defaultConnectTimeout", - msConfigProperties.getConnectTimeout()); - System.setProperty("sun.net.client.defaultReadTimeout", - msConfigProperties.getReadTimeout()); - // 初始化acsClient,暂不支持region化 - try { - DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", - SmsProperties.SMS_PRODUCT, SmsProperties.SMS_DOMAIN); - Collection messageListeners = event.getApplicationContext() - .getBeansOfType(MessageListener.class).values(); - if (messageListeners.isEmpty()) { - return; - } - - for (MessageListener messageListener : messageListeners) { - if (SmsReportMessageListener.class.isInstance(messageListener)) { - if (msConfigProperties.getReportQueueName() != null - && msConfigProperties.getReportQueueName().trim() - .length() > 0) { - smsService.startSmsReportMessageListener( - (SmsReportMessageListener) messageListener); - continue; - } - - throw new IllegalArgumentException("the SmsReport queue name for " - + messageListener.getClass().getCanonicalName() - + " must be set."); - } - - if (SmsUpMessageListener.class.isInstance(messageListener)) { - - if (msConfigProperties.getUpQueueName() != null - && msConfigProperties.getUpQueueName().trim().length() > 0) { - smsService.startSmsUpMessageListener( - (SmsUpMessageListener) messageListener); - continue; - } - - throw new IllegalArgumentException("the SmsUp queue name for " - + messageListener.getClass().getCanonicalName() - + " must be set."); - } - } - } - catch (ClientException e) { - throw new RuntimeException( - "initialize sms profile end point cause an exception"); - } - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsMessageListener.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsMessageListener.java deleted file mode 100644 index 3df32e94..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsMessageListener.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -import com.alibaba.alicloud.sms.base.MessageListener; - -/** - * @author pbting - */ -public interface SmsMessageListener extends MessageListener { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsReportMessageListener.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsReportMessageListener.java deleted file mode 100644 index 7194a3a1..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsReportMessageListener.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -/** - * @author pbting - */ -public interface SmsReportMessageListener extends SmsMessageListener { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsServiceImpl.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsServiceImpl.java deleted file mode 100644 index f5c49576..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsServiceImpl.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -import java.text.ParseException; - -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.alicloud.context.sms.SmsProperties; -import com.alibaba.alicloud.sms.base.DefaultAlicomMessagePuller; -import com.alibaba.alicloud.sms.endpoint.EndpointManager; -import com.alibaba.alicloud.sms.endpoint.ReceiveMessageEntity; -import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse; -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsResponse; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.exceptions.ServerException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pbting - */ -public final class SmsServiceImpl extends AbstractSmsService { - - private static final Logger log = LoggerFactory.getLogger(SmsServiceImpl.class); - - /** - * will expose user to call this method send sms message. - */ - private SmsProperties smsProperties; - - private AliCloudProperties aliCloudProperties; - - public SmsServiceImpl(AliCloudProperties aliCloudProperties, - SmsProperties smsProperties) { - this.aliCloudProperties = aliCloudProperties; - this.smsProperties = smsProperties; - } - - @Override - public SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest) - throws ClientException { - - return sendSmsRequest(sendSmsRequest, aliCloudProperties.getAccessKey(), - aliCloudProperties.getSecretKey()); - } - - @Override - public SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest, - String accessKeyId, String accessKeySecret) - throws ServerException, ClientException { - EndpointManager.addSendSmsRequest(sendSmsRequest); - // hint 此处可能会抛出异常,注意catch - return getHangZhouRegionClientProfile(accessKeyId, accessKeySecret) - .getAcsResponse(sendSmsRequest); - } - - @Override - public boolean startSmsReportMessageListener( - SmsReportMessageListener smsReportMessageListener) { - // 短信回执:SmsReport,短信上行:SmsUp - String messageType = "SmsReport"; - String queueName = smsProperties.getReportQueueName(); - return startReceiveMsg(messageType, queueName, smsReportMessageListener); - } - - @Override - public boolean startSmsUpMessageListener(SmsUpMessageListener smsUpMessageListener) { - // 短信回执:SmsReport,短信上行:SmsUp - String messageType = "SmsUp"; - String queueName = smsProperties.getUpQueueName(); - return startReceiveMsg(messageType, queueName, smsUpMessageListener); - } - - private boolean startReceiveMsg(String messageType, String queueName, - SmsMessageListener messageListener) { - String accessKeyId = aliCloudProperties.getAccessKey(); - String accessKeySecret = aliCloudProperties.getSecretKey(); - boolean result = true; - try { - new DefaultAlicomMessagePuller().startReceiveMsg(accessKeyId, accessKeySecret, - messageType, queueName, messageListener); - EndpointManager.addReceiveMessageEntity( - new ReceiveMessageEntity(messageType, queueName, messageListener)); - } - catch (ClientException e) { - log.error("start sms report message listener cause an exception", e); - result = false; - } - catch (ParseException e) { - log.error("start sms report message listener cause an exception", e); - result = false; - } - return result; - } - - @Override - public SendBatchSmsResponse sendSmsBatchRequest( - SendBatchSmsRequest sendBatchSmsRequest) - throws ServerException, ClientException { - - return sendSmsBatchRequest(sendBatchSmsRequest, aliCloudProperties.getAccessKey(), - aliCloudProperties.getSecretKey()); - } - - @Override - public SendBatchSmsResponse sendSmsBatchRequest( - SendBatchSmsRequest sendBatchSmsRequest, String accessKeyId, - String accessKeySecret) throws ClientException { - EndpointManager.addSendBatchSmsRequest(sendBatchSmsRequest); - return getHangZhouRegionClientProfile(accessKeyId, accessKeySecret) - .getAcsResponse(sendBatchSmsRequest); - } - - @Override - public QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request, - String accessKeyId, String accessKeySecret) throws ClientException { - return getHangZhouRegionClientProfile(accessKeyId, accessKeySecret) - .getAcsResponse(request); - } - - @Override - public QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request) - throws ClientException { - return querySendDetails(request, aliCloudProperties.getAccessKey(), - aliCloudProperties.getSecretKey()); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsUpMessageListener.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsUpMessageListener.java deleted file mode 100644 index b6c5242a..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/SmsUpMessageListener.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms; - -/** - * @author pbting - */ -public interface SmsUpMessageListener extends SmsMessageListener { - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/DefaultAlicomMessagePuller.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/DefaultAlicomMessagePuller.java deleted file mode 100755 index c823ac4f..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/DefaultAlicomMessagePuller.java +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledThreadPoolExecutor; - -import com.aliyun.mns.client.CloudQueue; -import com.aliyun.mns.common.ClientException; -import com.aliyun.mns.common.ServiceException; -import com.aliyun.mns.model.Message; -import org.apache.commons.lang3.concurrent.BasicThreadFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * 阿里通信官方消息默认拉取工具类. - */ -public class DefaultAlicomMessagePuller { - - private static final Logger log = LoggerFactory - .getLogger(DefaultAlicomMessagePuller.class); - - private String mnsAccountEndpoint = "https://1943695596114318.mns.cn-hangzhou.aliyuncs.com/"; // 阿里通信消息的endpoint,固定。 - - private String endpointNameForPop = "cn-hangzhou"; - - private String regionIdForPop = "cn-hangzhou"; - - private String domainForPop = "dybaseapi.aliyuncs.com"; - - private TokenGetterForAlicom tokenGetter; - - private MessageListener messageListener; - - private boolean isRunning = false; - - private Integer pullMsgThreadSize = 1; - - private boolean debugLogOpen = false; - - private Integer sleepSecondWhenNoData = 30; - - public void openDebugLog(boolean debugLogOpen) { - this.debugLogOpen = debugLogOpen; - } - - public Integer getSleepSecondWhenNoData() { - return sleepSecondWhenNoData; - } - - public void setSleepSecondWhenNoData(Integer sleepSecondWhenNoData) { - this.sleepSecondWhenNoData = sleepSecondWhenNoData; - } - - public Integer getPullMsgThreadSize() { - return pullMsgThreadSize; - } - - public void setPullMsgThreadSize(Integer pullMsgThreadSize) { - if (pullMsgThreadSize != null && pullMsgThreadSize > 1) { - this.pullMsgThreadSize = pullMsgThreadSize; - } - } - - private ExecutorService executorService; - - public ExecutorService getExecutorService() { - return executorService; - } - - public void setExecutorService(ExecutorService executorService) { - this.executorService = executorService; - } - - protected static final Map S_LOCK_OBJ_MAP = new HashMap<>(); - - protected static Map sPollingMap = new ConcurrentHashMap<>(); - - protected Object lockObj; - - public boolean setPolling(String queueName) { - synchronized (lockObj) { - Boolean ret = sPollingMap.get(queueName); - if (ret == null || !ret) { - sPollingMap.put(queueName, true); - return true; - } - return false; - } - } - - public void clearPolling(String queueName) { - synchronized (lockObj) { - sPollingMap.put(queueName, false); - lockObj.notifyAll(); - if (debugLogOpen) { - log.info("PullMessageTask_WakeUp:Everyone WakeUp and Work!"); - } - } - } - - public boolean isRunning() { - return isRunning; - } - - public void setRunning(boolean running) { - isRunning = running; - } - - /** - * @param accessKeyId accessKeyId - * @param accessKeySecret accessKeySecret - * @param messageType 消息类型 - * @param queueName 队列名称 - * @param messageListener 回调的listener,用户自己实现 - * @throws com.aliyuncs.exceptions.ClientException throw by sdk - * @throws ParseException throw parse exception - */ - public void startReceiveMsg(String accessKeyId, String accessKeySecret, - String messageType, String queueName, MessageListener messageListener) - throws com.aliyuncs.exceptions.ClientException, ParseException { - - tokenGetter = new TokenGetterForAlicom(accessKeyId, accessKeySecret, - endpointNameForPop, regionIdForPop, domainForPop, null); - - this.messageListener = messageListener; - isRunning = true; - PullMessageTask task = new PullMessageTask(); - task.messageType = messageType; - task.queueName = queueName; - - synchronized (S_LOCK_OBJ_MAP) { - lockObj = S_LOCK_OBJ_MAP.get(queueName); - if (lockObj == null) { - lockObj = new Object(); - S_LOCK_OBJ_MAP.put(queueName, lockObj); - } - } - - if (executorService == null) { - ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor( - pullMsgThreadSize, - new BasicThreadFactory.Builder() - .namingPattern( - "PullMessageTask-" + messageType + "-thread-pool-%d") - .daemon(true).build()); - executorService = scheduledExecutorService; - } - for (int i = 0; i < pullMsgThreadSize; i++) { - executorService.execute(task); - } - } - - /** - * @param accessKeyId accessKeyId - * @param accessKeySecret accessKeySecret - * @param messageType 消息类型 - * @param queueName 队列名称 - * @param regionIdForPop region - * @param endpointNameForPop endpoint name - * @param domainForPop domain - * @param mnsAccountEndpoint mns account endpoint - * @param messageListener 回调的listener,用户自己实现 - * @throws com.aliyuncs.exceptions.ClientException throw by sdk - * @throws ParseException throw parse exception - */ - public void startReceiveMsgForVPC(String accessKeyId, String accessKeySecret, - String messageType, String queueName, String regionIdForPop, - String endpointNameForPop, String domainForPop, String mnsAccountEndpoint, - MessageListener messageListener) - throws com.aliyuncs.exceptions.ClientException, ParseException { - this.mnsAccountEndpoint = mnsAccountEndpoint; - tokenGetter = new TokenGetterForAlicom(accessKeyId, accessKeySecret, - endpointNameForPop, regionIdForPop, domainForPop, null); - - this.messageListener = messageListener; - isRunning = true; - PullMessageTask task = new PullMessageTask(); - task.messageType = messageType; - task.queueName = queueName; - - synchronized (S_LOCK_OBJ_MAP) { - lockObj = S_LOCK_OBJ_MAP.get(queueName); - if (lockObj == null) { - lockObj = new Object(); - S_LOCK_OBJ_MAP.put(queueName, lockObj); - } - } - - if (executorService == null) { - ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor( - pullMsgThreadSize, - new BasicThreadFactory.Builder() - .namingPattern( - "PullMessageTask-" + messageType + "-thread-pool-%d") - .daemon(true).build()); - executorService = scheduledExecutorService; - } - for (int i = 0; i < pullMsgThreadSize; i++) { - executorService.execute(task); - } - } - - /** - * 虚商用户定制接收消息方法. - * @param accessKeyId accessKeyId - * @param accessKeySecret accessKeySecret - * @param ownerId 实际的ownerId - * @param messageType 消息类型 - * @param queueName 队列名称 - * @param messageListener 回调listener - * @throws com.aliyuncs.exceptions.ClientException throw by sdk - * @throws ParseException throw parse exception - */ - public void startReceiveMsgForPartnerUser(String accessKeyId, String accessKeySecret, - Long ownerId, String messageType, String queueName, - MessageListener messageListener) - throws com.aliyuncs.exceptions.ClientException, ParseException { - - tokenGetter = new TokenGetterForAlicom(accessKeyId, accessKeySecret, - endpointNameForPop, regionIdForPop, domainForPop, ownerId); - - this.messageListener = messageListener; - isRunning = true; - PullMessageTask task = new PullMessageTask(); - task.messageType = messageType; - task.queueName = queueName; - - synchronized (S_LOCK_OBJ_MAP) { - lockObj = S_LOCK_OBJ_MAP.get(queueName); - if (lockObj == null) { - lockObj = new Object(); - S_LOCK_OBJ_MAP.put(queueName, lockObj); - } - } - - if (executorService == null) { - ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor( - pullMsgThreadSize, - new BasicThreadFactory.Builder() - .namingPattern( - "PullMessageTask-" + messageType + "-thread-pool-%d") - .daemon(true).build()); - executorService = scheduledExecutorService; - } - for (int i = 0; i < pullMsgThreadSize; i++) { - executorService.execute(task); - } - } - - public void stop() { - isRunning = false; - } - - private class PullMessageTask implements Runnable { - - private String messageType; - - private String queueName; - - @Override - public void run() { - - boolean polling = false; - while (isRunning) { - try { - synchronized (lockObj) { - Boolean p = sPollingMap.get(queueName); - if (p != null && p) { - try { - if (debugLogOpen) { - log.info("PullMessageTask_sleep:" - + Thread.currentThread().getName() - + " Have a nice sleep!"); - } - polling = false; - lockObj.wait(); - } - catch (InterruptedException e) { - if (debugLogOpen) { - log.info("PullMessageTask_Interrupted!" - + Thread.currentThread().getName() - + " QueueName is " + queueName); - } - continue; - } - } - } - - TokenForAlicom tokenObject = tokenGetter.getTokenByMessageType( - messageType, queueName, mnsAccountEndpoint); - CloudQueue queue = tokenObject.getQueue(); - Message popMsg = null; - if (!polling) { - popMsg = queue.popMessage(); - if (debugLogOpen) { - SimpleDateFormat format = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); - log.info("PullMessageTask_popMessage:" - + Thread.currentThread().getName() + "-popDone at " - + "," + format.format(new Date()) + " msgSize=" - + (popMsg == null ? 0 : popMsg.getMessageId())); - } - if (popMsg == null) { - polling = true; - continue; - } - } - else { - if (setPolling(queueName)) { - if (debugLogOpen) { - log.info("PullMessageTask_setPolling:" - + Thread.currentThread().getName() + " Polling!"); - } - } - else { - continue; - } - do { - if (debugLogOpen) { - log.info("PullMessageTask_Keep_Polling" - + Thread.currentThread().getName() - + "KEEP Polling!"); - } - try { - popMsg = queue.popMessage(sleepSecondWhenNoData); - } - catch (ClientException e) { - if (debugLogOpen) { - log.info( - "PullMessageTask_Pop_Message:ClientException Refresh accessKey" - + e); - } - tokenObject = tokenGetter.getTokenByMessageType( - messageType, queueName, mnsAccountEndpoint); - queue = tokenObject.getQueue(); - - } - catch (ServiceException e) { - if (debugLogOpen) { - log.info( - "PullMessageTask_Pop_Message:ServiceException Refresh accessKey" - + e); - } - tokenObject = tokenGetter.getTokenByMessageType( - messageType, queueName, mnsAccountEndpoint); - queue = tokenObject.getQueue(); - - } - catch (Exception e) { - if (debugLogOpen) { - log.info( - "PullMessageTask_Pop_Message:Exception Happened when polling popMessage: " - + e); - } - } - } - while (popMsg == null && isRunning); - clearPolling(queueName); - } - boolean dealResult = messageListener.dealMessage(popMsg); - if (dealResult) { - // remember to delete message when consume message successfully. - if (debugLogOpen) { - log.info("PullMessageTask_Deal_Message:" - + Thread.currentThread().getName() + "deleteMessage " - + popMsg.getMessageId()); - } - queue.deleteMessage(popMsg.getReceiptHandle()); - } - } - catch (ClientException e) { - log.error("PullMessageTask_execute_error,messageType:" + messageType - + ",queueName:" + queueName, e); - break; - - } - catch (ServiceException e) { - if (e.getErrorCode().equals("AccessDenied")) { - log.error("PullMessageTask_execute_error,messageType:" - + messageType + ",queueName:" + queueName - + ",please check messageType and queueName", e); - } - else { - log.error("PullMessageTask_execute_error,messageType:" - + messageType + ",queueName:" + queueName, e); - } - break; - - } - catch (com.aliyuncs.exceptions.ClientException e) { - if (e.getErrCode().equals("InvalidAccessKeyId.NotFound")) { - log.error("PullMessageTask_execute_error,messageType:" - + messageType + ",queueName:" + queueName - + ",please check AccessKeyId", e); - } - if (e.getErrCode().equals("SignatureDoesNotMatch")) { - log.error("PullMessageTask_execute_error,messageType:" - + messageType + ",queueName:" + queueName - + ",please check AccessKeySecret", e); - } - else { - log.error("PullMessageTask_execute_error,messageType:" - + messageType + ",queueName:" + queueName, e); - } - break; - - } - catch (Exception e) { - log.error("PullMessageTask_execute_error,messageType:" + messageType - + ",queueName:" + queueName, e); - try { - Thread.sleep(sleepSecondWhenNoData); - } - catch (InterruptedException e1) { - log.error("PullMessageTask_execute_error,messageType:" - + messageType + ",queueName:" + queueName, e); - } - } - } - - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/MessageListener.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/MessageListener.java deleted file mode 100755 index 9717f050..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/MessageListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import com.aliyun.mns.model.Message; - -public interface MessageListener { - - boolean dealMessage(Message message); - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueRequest.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueRequest.java deleted file mode 100644 index 8a8889cd..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueRequest.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import com.aliyuncs.RpcAcsRequest; - -public class QueryTokenForMnsQueueRequest - extends RpcAcsRequest { - - private String resourceOwnerAccount; - - private String messageType; - - private Long resourceOwnerId; - - private Long ownerId; - - public QueryTokenForMnsQueueRequest() { - super("Dybaseapi", "2017-05-25", "QueryTokenForMnsQueue"); - } - - public String getResourceOwnerAccount() { - return this.resourceOwnerAccount; - } - - public void setResourceOwnerAccount(String resourceOwnerAccount) { - this.resourceOwnerAccount = resourceOwnerAccount; - if (resourceOwnerAccount != null) { - this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount); - } - - } - - public String getMessageType() { - return this.messageType; - } - - public void setMessageType(String messageType) { - this.messageType = messageType; - if (messageType != null) { - this.putQueryParameter("MessageType", messageType); - } - - } - - public Long getResourceOwnerId() { - return this.resourceOwnerId; - } - - public void setResourceOwnerId(Long resourceOwnerId) { - this.resourceOwnerId = resourceOwnerId; - if (resourceOwnerId != null) { - this.putQueryParameter("ResourceOwnerId", resourceOwnerId.toString()); - } - - } - - public Long getOwnerId() { - return this.ownerId; - } - - public void setOwnerId(Long ownerId) { - this.ownerId = ownerId; - if (ownerId != null) { - this.putQueryParameter("OwnerId", ownerId.toString()); - } - - } - - @Override - public Class getResponseClass() { - return QueryTokenForMnsQueueResponse.class; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueResponse.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueResponse.java deleted file mode 100644 index 3b1a2b3e..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueResponse.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import com.aliyuncs.AcsResponse; -import com.aliyuncs.transform.UnmarshallerContext; - -public class QueryTokenForMnsQueueResponse extends AcsResponse { - - private String requestId; - - private String code; - - private String message; - - private QueryTokenForMnsQueueResponse.MessageTokenDTO messageTokenDTO; - - public QueryTokenForMnsQueueResponse() { - } - - public String getRequestId() { - return this.requestId; - } - - public void setRequestId(String requestId) { - this.requestId = requestId; - } - - public String getCode() { - return this.code; - } - - public void setCode(String code) { - this.code = code; - } - - public String getMessage() { - return this.message; - } - - public void setMessage(String message) { - this.message = message; - } - - public QueryTokenForMnsQueueResponse.MessageTokenDTO getMessageTokenDTO() { - return this.messageTokenDTO; - } - - public void setMessageTokenDTO( - QueryTokenForMnsQueueResponse.MessageTokenDTO messageTokenDTO) { - this.messageTokenDTO = messageTokenDTO; - } - - @Override - public QueryTokenForMnsQueueResponse getInstance(UnmarshallerContext context) { - return QueryTokenForMnsQueueResponseUnmarshaller.unmarshall(this, context); - } - - public static class MessageTokenDTO { - - private String accessKeyId; - - private String accessKeySecret; - - private String securityToken; - - private String createTime; - - private String expireTime; - - public MessageTokenDTO() { - } - - public String getAccessKeyId() { - return this.accessKeyId; - } - - public void setAccessKeyId(String accessKeyId) { - this.accessKeyId = accessKeyId; - } - - public String getAccessKeySecret() { - return this.accessKeySecret; - } - - public void setAccessKeySecret(String accessKeySecret) { - this.accessKeySecret = accessKeySecret; - } - - public String getSecurityToken() { - return this.securityToken; - } - - public void setSecurityToken(String securityToken) { - this.securityToken = securityToken; - } - - public String getCreateTime() { - return this.createTime; - } - - public void setCreateTime(String createTime) { - this.createTime = createTime; - } - - public String getExpireTime() { - return this.expireTime; - } - - public void setExpireTime(String expireTime) { - this.expireTime = expireTime; - } - - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueResponseUnmarshaller.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueResponseUnmarshaller.java deleted file mode 100644 index 36ca1f69..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/QueryTokenForMnsQueueResponseUnmarshaller.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import com.aliyuncs.transform.UnmarshallerContext; - -public final class QueryTokenForMnsQueueResponseUnmarshaller { - - private QueryTokenForMnsQueueResponseUnmarshaller() { - } - - public static QueryTokenForMnsQueueResponse unmarshall( - QueryTokenForMnsQueueResponse queryTokenForMnsQueueResponse, - UnmarshallerContext context) { - queryTokenForMnsQueueResponse.setRequestId( - context.stringValue("QueryTokenForMnsQueueResponse.RequestId")); - queryTokenForMnsQueueResponse - .setCode(context.stringValue("QueryTokenForMnsQueueResponse.Code")); - queryTokenForMnsQueueResponse - .setMessage(context.stringValue("QueryTokenForMnsQueueResponse.Message")); - QueryTokenForMnsQueueResponse.MessageTokenDTO messageTokenDTO = new QueryTokenForMnsQueueResponse.MessageTokenDTO(); - messageTokenDTO.setAccessKeyId(context.stringValue( - "QueryTokenForMnsQueueResponse.MessageTokenDTO.AccessKeyId")); - messageTokenDTO.setAccessKeySecret(context.stringValue( - "QueryTokenForMnsQueueResponse.MessageTokenDTO.AccessKeySecret")); - messageTokenDTO.setSecurityToken(context.stringValue( - "QueryTokenForMnsQueueResponse.MessageTokenDTO.SecurityToken")); - messageTokenDTO.setCreateTime(context - .stringValue("QueryTokenForMnsQueueResponse.MessageTokenDTO.CreateTime")); - messageTokenDTO.setExpireTime(context - .stringValue("QueryTokenForMnsQueueResponse.MessageTokenDTO.ExpireTime")); - queryTokenForMnsQueueResponse.setMessageTokenDTO(messageTokenDTO); - return queryTokenForMnsQueueResponse; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/TokenForAlicom.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/TokenForAlicom.java deleted file mode 100755 index 97b67072..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/TokenForAlicom.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import com.aliyun.mns.client.CloudQueue; -import com.aliyun.mns.client.MNSClient; - -/** - * 用于接收云通信消息的临时token. - * - */ -public class TokenForAlicom { - - private String messageType; - - private String token; - - private Long expireTime; - - private String tempAccessKeyId; - - private String tempAccessKeySecret; - - private MNSClient client; - - private CloudQueue queue; - - public String getMessageType() { - return messageType; - } - - public void setMessageType(String messageType) { - this.messageType = messageType; - } - - public String getToken() { - return token; - } - - public void setToken(String token) { - this.token = token; - } - - public Long getExpireTime() { - return expireTime; - } - - public void setExpireTime(Long expireTime) { - this.expireTime = expireTime; - } - - public String getTempAccessKeyId() { - return tempAccessKeyId; - } - - public void setTempAccessKeyId(String tempAccessKeyId) { - this.tempAccessKeyId = tempAccessKeyId; - } - - public String getTempAccessKeySecret() { - return tempAccessKeySecret; - } - - public void setTempAccessKeySecret(String tempAccessKeySecret) { - this.tempAccessKeySecret = tempAccessKeySecret; - } - - public MNSClient getClient() { - return client; - } - - public void setClient(MNSClient client) { - this.client = client; - } - - public CloudQueue getQueue() { - return queue; - } - - public void setQueue(CloudQueue queue) { - this.queue = queue; - } - - public void closeClient() { - if (client != null) { - this.client.close(); - } - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/TokenGetterForAlicom.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/TokenGetterForAlicom.java deleted file mode 100755 index 54e15df6..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/base/TokenGetterForAlicom.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.base; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.TimeZone; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import com.aliyun.mns.client.CloudAccount; -import com.aliyun.mns.client.CloudQueue; -import com.aliyun.mns.client.MNSClient; -import com.aliyuncs.DefaultAcsClient; -import com.aliyuncs.IAcsClient; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.exceptions.ServerException; -import com.aliyuncs.http.FormatType; -import com.aliyuncs.http.MethodType; -import com.aliyuncs.http.ProtocolType; -import com.aliyuncs.profile.DefaultProfile; -import com.aliyuncs.profile.IClientProfile; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * 获取接收云通信消息的临时token. - */ -public class TokenGetterForAlicom { - - private static final Logger log = LoggerFactory.getLogger(TokenGetterForAlicom.class); - - private String accessKeyId; - - private String accessKeySecret; - - private String endpointNameForPop; - - private String regionIdForPop; - - private String domainForPop; - - private IAcsClient iAcsClient; - - private Long ownerId; - - private final static String PRODUCT_NAME = "Dybaseapi"; - - private long bufferTime = 1000 * 60 * 2; // 过期时间小于2分钟则重新获取,防止服务器时间误差 - - private final Object lock = new Object(); - - private ConcurrentMap tokenMap = new ConcurrentHashMap(); - - public TokenGetterForAlicom(String accessKeyId, String accessKeySecret, - String endpointNameForPop, String regionIdForPop, String domainForPop, - Long ownerId) throws ClientException { - this.accessKeyId = accessKeyId; - this.accessKeySecret = accessKeySecret; - this.endpointNameForPop = endpointNameForPop; - this.regionIdForPop = regionIdForPop; - this.domainForPop = domainForPop; - this.ownerId = ownerId; - init(); - } - - private void init() throws ClientException { - DefaultProfile.addEndpoint(endpointNameForPop, regionIdForPop, PRODUCT_NAME, - domainForPop); - IClientProfile profile = DefaultProfile.getProfile(regionIdForPop, accessKeyId, - accessKeySecret); - profile.getHttpClientConfig().setCompatibleMode(true); - iAcsClient = new DefaultAcsClient(profile); - } - - private TokenForAlicom getTokenFromRemote(String messageType) - throws ServerException, ClientException, ParseException { - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - df.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); - QueryTokenForMnsQueueRequest request = new QueryTokenForMnsQueueRequest(); - request.setAcceptFormat(FormatType.JSON); - request.setMessageType(messageType); - request.setOwnerId(ownerId); - request.setProtocol(ProtocolType.HTTPS); - request.setMethod(MethodType.POST); - QueryTokenForMnsQueueResponse response = iAcsClient.getAcsResponse(request); - String resultCode = response.getCode(); - if (resultCode != null && "OK".equals(resultCode)) { - QueryTokenForMnsQueueResponse.MessageTokenDTO dto = response - .getMessageTokenDTO(); - TokenForAlicom token = new TokenForAlicom(); - String timeStr = dto.getExpireTime(); - token.setMessageType(messageType); - token.setExpireTime(df.parse(timeStr).getTime()); - token.setToken(dto.getSecurityToken()); - token.setTempAccessKeyId(dto.getAccessKeyId()); - token.setTempAccessKeySecret(dto.getAccessKeySecret()); - return token; - } - else { - log.error("getTokenFromRemote_error,messageType:" + messageType + ",code:" - + response.getCode() + ",message:" + response.getMessage()); - throw new ServerException(response.getCode(), response.getMessage()); - } - } - - public TokenForAlicom getTokenByMessageType(String messageType, String queueName, - String mnsAccountEndpoint) - throws ServerException, ClientException, ParseException { - TokenForAlicom token = tokenMap.get(messageType); - Long now = System.currentTimeMillis(); - if (token == null || (token.getExpireTime() - now) < bufferTime) { // 过期时间小于2分钟则重新获取,防止服务器时间误差 - synchronized (lock) { - token = tokenMap.get(messageType); - if (token == null || (token.getExpireTime() - now) < bufferTime) { - TokenForAlicom oldToken = null; - if (token != null) { - oldToken = token; - } - token = getTokenFromRemote(messageType); - // 因为换token时需要重建client和关闭老的client,所以创建client的代码和创建token放在一起 - CloudAccount account = new CloudAccount(token.getTempAccessKeyId(), - token.getTempAccessKeySecret(), mnsAccountEndpoint, - token.getToken()); - MNSClient client = account.getMNSClient(); - CloudQueue queue = client.getQueueRef(queueName); - token.setClient(client); - token.setQueue(queue); - tokenMap.put(messageType, token); - if (oldToken != null) { - oldToken.closeClient(); - } - } - } - } - return token; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/config/SmsAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/config/SmsAutoConfiguration.java deleted file mode 100644 index 62c2a2a9..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/config/SmsAutoConfiguration.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.config; - -import com.alibaba.alicloud.context.AliCloudProperties; -import com.alibaba.alicloud.context.sms.SmsProperties; -import com.alibaba.alicloud.sms.ISmsService; -import com.alibaba.alicloud.sms.SmsInitializerEventListener; -import com.alibaba.alicloud.sms.SmsServiceImpl; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author pbting - */ -@Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties -@ConditionalOnClass(SendSmsRequest.class) -@ConditionalOnProperty(value = "spring.cloud.alicloud.sms.enable", matchIfMissing = true) -public class SmsAutoConfiguration { - - @Bean - public SmsServiceImpl smsService(AliCloudProperties aliCloudProperties, - SmsProperties smsProperties) { - return new SmsServiceImpl(aliCloudProperties, smsProperties); - } - - @Bean - public SmsInitializerEventListener smsInitializePostListener( - SmsProperties smsProperties, ISmsService smsService) { - return new SmsInitializerEventListener(smsProperties, smsService); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/EndpointManager.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/EndpointManager.java deleted file mode 100644 index 963a2651..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/EndpointManager.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.endpoint; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.locks.ReentrantLock; - -import com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsRequest; -import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; - -/** - * - */ -public final class EndpointManager { - - private EndpointManager() { - - } - - private final static int BACKLOG_SIZE = 20; - - private final static ReentrantLock SEND_REENTRANT_LOCK = new ReentrantLock(true); - - private final static ReentrantLock SEND_BATCH_REENTRANT_LOCK = new ReentrantLock( - true); - - private final static LinkedBlockingQueue SEND_SMS_REQUESTS = new LinkedBlockingQueue( - BACKLOG_SIZE); - - private final static LinkedBlockingQueue SEND_BATCH_SMS_REQUESTS = new LinkedBlockingQueue( - BACKLOG_SIZE); - - private final static LinkedBlockingQueue RECEIVE_MESSAGE_ENTITIES = new LinkedBlockingQueue( - BACKLOG_SIZE); - - public static void addSendSmsRequest(SendSmsRequest sendSmsRequest) { - if (SEND_SMS_REQUESTS.offer(sendSmsRequest)) { - return; - } - try { - SEND_REENTRANT_LOCK.lock(); - SEND_SMS_REQUESTS.poll(); - SEND_SMS_REQUESTS.offer(sendSmsRequest); - } - finally { - SEND_REENTRANT_LOCK.unlock(); - } - } - - public static void addSendBatchSmsRequest(SendBatchSmsRequest sendBatchSmsRequest) { - if (SEND_BATCH_SMS_REQUESTS.offer(sendBatchSmsRequest)) { - return; - } - try { - SEND_BATCH_REENTRANT_LOCK.lock(); - SEND_BATCH_SMS_REQUESTS.poll(); - SEND_BATCH_SMS_REQUESTS.offer(sendBatchSmsRequest); - } - finally { - SEND_BATCH_REENTRANT_LOCK.unlock(); - } - } - - public static void addReceiveMessageEntity( - ReceiveMessageEntity receiveMessageEntity) { - if (RECEIVE_MESSAGE_ENTITIES.offer(receiveMessageEntity)) { - return; - } - RECEIVE_MESSAGE_ENTITIES.poll(); - RECEIVE_MESSAGE_ENTITIES.offer(receiveMessageEntity); - } - - public static Map getSmsEndpointMessage() { - List sendSmsRequests = new LinkedList<>(); - List sendBatchSmsRequests = new LinkedList<>(); - List receiveMessageEntities = new LinkedList<>(); - try { - SEND_REENTRANT_LOCK.lock(); - SEND_BATCH_REENTRANT_LOCK.lock(); - sendSmsRequests.addAll(SEND_SMS_REQUESTS); - sendBatchSmsRequests.addAll(SEND_BATCH_SMS_REQUESTS); - } - finally { - SEND_REENTRANT_LOCK.unlock(); - SEND_BATCH_REENTRANT_LOCK.unlock(); - } - receiveMessageEntities.addAll(RECEIVE_MESSAGE_ENTITIES); - - Map endpointMessages = new HashMap<>(); - endpointMessages.put("send-sms-request", sendSmsRequests); - endpointMessages.put("send-batch-sms-request", sendBatchSmsRequests); - endpointMessages.put("message-listener", receiveMessageEntities); - - return endpointMessages; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/ReceiveMessageEntity.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/ReceiveMessageEntity.java deleted file mode 100644 index df3ea7c7..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/ReceiveMessageEntity.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.endpoint; - -import java.io.Serializable; - -import com.alibaba.alicloud.sms.base.MessageListener; - -/** - * @author pbting - */ -public class ReceiveMessageEntity implements Serializable { - - private String messageType; - - private String queueName; - - private MessageListener messageListener; - - public ReceiveMessageEntity(String messageType, String queueName, - MessageListener messageListener) { - this.messageType = messageType; - this.queueName = queueName; - this.messageListener = messageListener; - } - - public String getMessageType() { - return messageType; - } - - public void setMessageType(String messageType) { - this.messageType = messageType; - } - - public String getQueueName() { - return queueName; - } - - public void setQueueName(String queueName) { - this.queueName = queueName; - } - - public MessageListener getMessageListener() { - return messageListener; - } - - public void setMessageListener(MessageListener messageListener) { - this.messageListener = messageListener; - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/SmsEndpoint.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/SmsEndpoint.java deleted file mode 100644 index 7f87d67c..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/SmsEndpoint.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.endpoint; - -import java.util.Map; - -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; - -@Endpoint(id = "sms") -public class SmsEndpoint { - - @ReadOperation - public Map invoke() { - - return EndpointManager.getSmsEndpointMessage(); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/SmsEndpointAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/SmsEndpointAutoConfiguration.java deleted file mode 100644 index f788aae0..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/java/com/alibaba/alicloud/sms/endpoint/SmsEndpointAutoConfiguration.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2013-2018 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.alibaba.alicloud.sms.endpoint; - -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; - -@ConditionalOnWebApplication -@ConditionalOnClass(Endpoint.class) -public class SmsEndpointAutoConfiguration { - - @Bean - public SmsEndpoint smsEndpoint() { - return new SmsEndpoint(); - } - -} diff --git a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/resources/META-INF/spring.factories deleted file mode 100644 index a6c328d2..00000000 --- a/spring-cloud-starter-alicloud/spring-cloud-starter-alicloud-sms/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,3 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.alibaba.alicloud.sms.config.SmsAutoConfiguration,\ - com.alibaba.alicloud.sms.endpoint.SmsEndpointAutoConfiguration \ No newline at end of file