mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
Merge pull request #372 from xiaolongzuo/master
Add statistics for nacos discovery and test case
This commit is contained in:
commit
5da1fbb6c1
@ -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";
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -15,15 +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
|
||||
@ -54,7 +54,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",
|
||||
|
@ -31,13 +31,33 @@ import com.aliyun.oss.ClientBuilderConfiguration;
|
||||
@ConfigurationProperties("spring.cloud.alicloud.oss")
|
||||
public class OssProperties {
|
||||
|
||||
/**
|
||||
* Authorization Mode, please see <a href=
|
||||
* "https://help.aliyun.com/document_detail/32010.html?spm=a2c4g.11186623.6.659.29f145dc3KOwTh">oss
|
||||
* docs</a>.
|
||||
*/
|
||||
@Value("${spring.cloud.alicloud.oss.authorization-mode:AK_SK}")
|
||||
private AliCloudAuthorizationMode authorizationMode;
|
||||
|
||||
/**
|
||||
* Endpoint, please see <a href=
|
||||
* "https://help.aliyun.com/document_detail/32010.html?spm=a2c4g.11186623.6.659.29f145dc3KOwTh">oss
|
||||
* docs</a>.
|
||||
*/
|
||||
private String endpoint;
|
||||
|
||||
/**
|
||||
* Sts token, please see <a href=
|
||||
* "https://help.aliyun.com/document_detail/32010.html?spm=a2c4g.11186623.6.659.29f145dc3KOwTh">oss
|
||||
* docs</a>.
|
||||
*/
|
||||
private StsToken sts;
|
||||
|
||||
/**
|
||||
* Client Configuration, please see <a href=
|
||||
* "https://help.aliyun.com/document_detail/32010.html?spm=a2c4g.11186623.6.659.29f145dc3KOwTh">oss
|
||||
* docs</a>.
|
||||
*/
|
||||
private ClientBuilderConfiguration config;
|
||||
|
||||
public AliCloudAuthorizationMode getAuthorizationMode() {
|
||||
|
@ -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 <a href=
|
||||
* "https://help.aliyun.com/document_detail/35359.html?spm=a2c4g.11186623.6.721.69ca5763p9IJly">scx
|
||||
* docs</a>.
|
||||
*/
|
||||
private String groupId;
|
||||
|
||||
/**
|
||||
* Domain name, please see <a href=
|
||||
* "https://help.aliyun.com/document_detail/35359.html?spm=a2c4g.11186623.6.721.69ca5763p9IJly">scx
|
||||
* docs</a>.
|
||||
*/
|
||||
private String domainName;
|
||||
|
||||
@Override
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 {
|
||||
}
|
@ -16,8 +16,7 @@
|
||||
|
||||
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;
|
||||
@ -25,35 +24,39 @@ 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.AssertionsForClassTypes.assertThat;
|
||||
import com.alibaba.cloud.context.ans.AliCloudAnsInitializer;
|
||||
import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory;
|
||||
|
||||
/**
|
||||
* @author xiaolongzuo
|
||||
*/
|
||||
@PrepareForTest({EdasChangeOrderConfigurationFactory.class,
|
||||
NacosConfigParameterInitListener.class, AliCloudAnsInitializer.class})
|
||||
public class NacosDiscoveryParameterInitListenerTests extends BaseAliCloudSpringApplication {
|
||||
@PrepareForTest({ EdasChangeOrderConfigurationFactory.class,
|
||||
NacosDiscoveryParameterInitListener.class, AliCloudAnsInitializer.class })
|
||||
public class NacosDiscoveryParameterInitListenerTests
|
||||
extends BaseAliCloudSpringApplication {
|
||||
|
||||
@BeforeClass
|
||||
public static void setUp() {
|
||||
ChangeOrderUtils.mockChangeOrder();
|
||||
System.getProperties().setProperty("webContext", "/vipserver");
|
||||
System.getProperties().setProperty("serverPort", "80");
|
||||
}
|
||||
@BeforeClass
|
||||
public static void setUp() {
|
||||
ChangeOrderUtils.mockChangeOrder();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNacosParameterInitListener() {
|
||||
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");
|
||||
assertThat(System.getProperties().getProperty("webContext")).isEqualTo("/vipserver");
|
||||
assertThat(System.getProperties().getProperty("serverPort")).isEqualTo("80");
|
||||
}
|
||||
@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");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user