From 34bcd8b242621d3a14b3e30313daa168eb2ef816 Mon Sep 17 00:00:00 2001
From: xiaolongzuo <150349407@qq.com>
Date: Thu, 21 Feb 2019 15:09:20 +0800
Subject: [PATCH 1/5] Add statistics for nacos discovery and test case
# Conflicts:
# spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
---
.../NacosDiscoveryParameterInitListener.java | 9 ++++----
.../statistics/StatisticsTaskStarter.java | 10 ++++++--
.../NacosDiscoveryAutoConfiguration.java | 23 +++++++++++++++++++
...osDiscoveryParameterInitListenerTests.java | 21 +++++++++--------
4 files changed, 47 insertions(+), 16 deletions(-)
create mode 100644 spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java
diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java
index 3dbc548f..6fd7a6f2 100644
--- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java
+++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListener.java
@@ -15,14 +15,15 @@
*/
package org.springframework.cloud.alicloud.context.nacos;
-import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration;
-import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory;
+import java.util.Properties;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.cloud.alicloud.context.listener.AbstractOnceApplicationListener;
-import java.util.Properties;
+import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration;
+import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory;
/**
* @author pbting
@@ -52,7 +53,7 @@ public class NacosDiscoveryParameterInitListener
}
// 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",
diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java
index 709315d8..e820d4a9 100644
--- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java
+++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java
@@ -48,7 +48,9 @@ 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_CONFIG_SERVER_MODE_VALUE = "EDAS";
+ 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;
@@ -106,10 +108,14 @@ public class StatisticsTaskStarter implements InitializingBean {
if (acmContextBootstrapConfiguration != null && acmEnableEdas) {
components.add("SC-ACM");
}
- if (NACOS_CONFIG_SERVER_MODE_VALUE
+ 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-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java
new file mode 100644
index 00000000..74ac28bc
--- /dev/null
+++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 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
+ *
+ * http://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 org.springframework.cloud.alibaba.nacos;
+
+/**
+ * @author xiaolongzuo
+ */
+public class NacosDiscoveryAutoConfiguration {
+}
diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
index c9c6e8ab..f59b44de 100644
--- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
+++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
@@ -16,15 +16,16 @@
package org.springframework.cloud.alicloud.context.nacos;
-import com.alibaba.cloud.context.ans.AliCloudAnsInitializer;
-import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory;
+import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
+
import org.junit.BeforeClass;
import org.junit.Test;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication;
import org.springframework.cloud.alicloud.utils.ChangeOrderUtils;
-import static org.assertj.core.api.Assertions.assertThat;
+import com.alibaba.cloud.context.ans.AliCloudAnsInitializer;
+import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory;
/**
* @author xiaolongzuo
@@ -37,21 +38,21 @@ public class NacosDiscoveryParameterInitListenerTests
@BeforeClass
public static void setUp() {
ChangeOrderUtils.mockChangeOrder();
- System.getProperties().setProperty("webContext", "/vipserver");
- System.getProperties().setProperty("serverPort", "80");
}
@Test
public void testNacosParameterInitListener() {
- assertThat(System.getProperty("spring.cloud.nacos.config.server-addr"))
+ 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.config.endpoint"))
+ assertThat(System.getProperty("spring.cloud.nacos.discovery.endpoint"))
.isEqualTo("testDomain");
- assertThat(System.getProperty("spring.cloud.nacos.config.namespace"))
+ assertThat(System.getProperty("spring.cloud.nacos.discovery.namespace"))
.isEqualTo("testTenantId");
- assertThat(System.getProperty("spring.cloud.nacos.config.access-key"))
+ assertThat(System.getProperty("spring.cloud.nacos.discovery.access-key"))
.isEqualTo("testAK");
- assertThat(System.getProperty("spring.cloud.nacos.config.secret-key"))
+ assertThat(System.getProperty("spring.cloud.nacos.discovery.secret-key"))
.isEqualTo("testSK");
assertThat(System.getProperties().getProperty("webContext"))
.isEqualTo("/vipserver");
From 6ff11740bfe94443732ac0b12dce16644d6bb8af Mon Sep 17 00:00:00 2001
From: xiaolongzuo <150349407@qq.com>
Date: Mon, 25 Feb 2019 16:42:45 +0800
Subject: [PATCH 2/5] Add statistics for nacos discovery and test case
# Conflicts:
# spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
---
.../context/nacos/NacosDiscoveryParameterInitListenerTests.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
index f59b44de..d06be81b 100644
--- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
+++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.alicloud.context.nacos;
-import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
import org.junit.BeforeClass;
import org.junit.Test;
From 25f16d35289c1f8feb705688bcb9cb545dd33cff Mon Sep 17 00:00:00 2001
From: xiaolongzuo <150349407@qq.com>
Date: Mon, 25 Feb 2019 14:35:39 +0800
Subject: [PATCH 3/5] Polish test cases for schedulerx
---
.../cloud/examples/HelloController.java | 35 +++++++++++++++++
.../alibaba/cloud/examples/SimpleTask.java | 20 +++++-----
.../cloud/examples/TestController.java | 39 +++++++++++++++++++
.../alibaba/cloud/examples/TestService.java | 6 +--
4 files changed, 87 insertions(+), 13 deletions(-)
create mode 100644 spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/HelloController.java
create mode 100644 spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java
diff --git a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/HelloController.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/HelloController.java
new file mode 100644
index 00000000..c11cbf98
--- /dev/null
+++ b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/HelloController.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 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
+ *
+ * http://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 org.springframework.cloud.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/org/springframework/cloud/alibaba/cloud/examples/SimpleTask.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/SimpleTask.java
index 09055da1..17ced464 100644
--- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/SimpleTask.java
+++ b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/SimpleTask.java
@@ -16,25 +16,25 @@
package org.springframework.cloud.alibaba.cloud.examples;
+import org.springframework.beans.factory.annotation.Autowired;
+
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;
+ @Autowired
+ private TestService testService;
- @Override
- public ProcessResult process(ScxSimpleJobContext context) {
- System.out.println("-----------Hello world---------------");
- testService.test();
- ProcessResult processResult = new ProcessResult(true);
- return processResult;
- }
+ @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/org/springframework/cloud/alibaba/cloud/examples/TestController.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java
new file mode 100644
index 00000000..b237b279
--- /dev/null
+++ b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 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
+ *
+ * http://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 org.springframework.cloud.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/org/springframework/cloud/alibaba/cloud/examples/TestService.java b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestService.java
index 1786d197..3352c05a 100644
--- a/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestService.java
+++ b/spring-cloud-alibaba-examples/schedulerx-example/schedulerx-simple-task-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestService.java
@@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
@Service
public class TestService {
- public void test() {
- System.out.println("---------IOC Success--------");
- }
+ public void test() {
+ TestController.atomicInteger.incrementAndGet();
+ }
}
From 6ae1df0363aa0edeec67567e418d85bf0219de31 Mon Sep 17 00:00:00 2001
From: xiaolongzuo <150349407@qq.com>
Date: Mon, 25 Feb 2019 15:00:11 +0800
Subject: [PATCH 4/5] Polish
---
.../nacos/NacosDiscoveryParameterInitListenerTests.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
index d06be81b..0efec3d1 100644
--- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
+++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosDiscoveryParameterInitListenerTests.java
@@ -54,8 +54,9 @@ public class NacosDiscoveryParameterInitListenerTests
.isEqualTo("testAK");
assertThat(System.getProperty("spring.cloud.nacos.discovery.secret-key"))
.isEqualTo("testSK");
- assertThat(System.getProperties().getProperty("webContext"))
+ assertThat(System.getProperties().getProperty("nacos.naming.web.context"))
.isEqualTo("/vipserver");
- assertThat(System.getProperties().getProperty("serverPort")).isEqualTo("80");
+ assertThat(System.getProperties().getProperty("nacos.naming.exposed.port"))
+ .isEqualTo("80");
}
}
\ No newline at end of file
From ac27dd9b30f2bede3214240ce8220744a21cbbc3 Mon Sep 17 00:00:00 2001
From: xiaolongzuo <150349407@qq.com>
Date: Tue, 26 Feb 2019 10:49:42 +0800
Subject: [PATCH 5/5] Add scx and oss java doc.
---
.../alicloud/context/oss/OssProperties.java | 20 +++++++++++++++++++
.../alicloud/context/scx/ScxProperties.java | 10 ++++++++++
2 files changed, 30 insertions(+)
diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssProperties.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssProperties.java
index 59f64cc3..4897bf5f 100644
--- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssProperties.java
+++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssProperties.java
@@ -31,13 +31,33 @@ import com.aliyun.oss.ClientBuilderConfiguration;
@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() {
diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxProperties.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxProperties.java
index db6a00d6..5ddfb0ab 100644
--- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxProperties.java
+++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxProperties.java
@@ -26,8 +26,18 @@ import com.alibaba.cloud.context.scx.ScxConfiguration;
@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