1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

Add test case.

This commit is contained in:
xiaolongzuo
2019-02-13 17:16:52 +08:00
parent 13097fd32c
commit 910068c91f
25 changed files with 600 additions and 214 deletions

View File

@@ -42,9 +42,8 @@ public abstract class AbstractOnceApplicationListener<T extends ApplicationEvent
ApplicationContext applicationContext = ((ApplicationContextEvent) event)
.getApplicationContext();
// skip bootstrap context or super parent context.
if (applicationContext.getParent() == null
|| BOOTSTRAP_CONFIG_NAME_VALUE.equals(applicationContext
.getEnvironment().getProperty(BOOTSTRAP_CONFIG_NAME_KEY))) {
if (BOOTSTRAP_CONFIG_NAME_VALUE.equals(applicationContext.getEnvironment()
.getProperty(BOOTSTRAP_CONFIG_NAME_KEY))) {
return;
}
}

View File

@@ -8,6 +8,9 @@ import org.springframework.cloud.alicloud.context.listener.AbstractOnceApplicati
import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration;
import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory;
/**
* @author pbting
*/
public class NacosParameterInitListener
extends AbstractOnceApplicationListener<ApplicationEnvironmentPreparedEvent> {
private static final Logger log = LoggerFactory
@@ -33,7 +36,8 @@ public class NacosParameterInitListener
log.info("Initialize Nacos Parameter from edas change order,is edas managed {}.",
edasChangeOrderConfiguration.isEdasManaged());
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",

View File

@@ -19,6 +19,7 @@ package org.springframework.cloud.alicloud.context.oss;
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.cloud.alicloud.context.AliCloudContextAutoConfiguration;
import org.springframework.cloud.alicloud.context.AliCloudProperties;
@@ -39,6 +40,7 @@ import com.aliyun.oss.OSSClientBuilder;
*/
@Configuration
@ConditionalOnClass(name = "org.springframework.cloud.alicloud.oss.OssAutoConfiguration")
@ConditionalOnProperty(name = "spring.cloud.alicloud.oss.enabled", matchIfMissing = true)
@EnableConfigurationProperties(OssProperties.class)
@ImportAutoConfiguration(AliCloudContextAutoConfiguration.class)
public class OssContextAutoConfiguration {

View File

@@ -19,6 +19,7 @@ package org.springframework.cloud.alicloud.context.scx;
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.cloud.alicloud.context.AliCloudProperties;
import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration;
@@ -35,6 +36,7 @@ import com.alibaba.edas.schedulerx.SchedulerXClient;
*/
@Configuration
@ConditionalOnClass(name = "org.springframework.cloud.alicloud.scx.ScxAutoConfiguration")
@ConditionalOnProperty(name = "spring.cloud.alicloud.scx.enabled", matchIfMissing = true)
@EnableConfigurationProperties(ScxProperties.class)
@ImportAutoConfiguration(EdasContextAutoConfiguration.class)
public class ScxContextAutoConfiguration {
@@ -42,10 +44,10 @@ public class ScxContextAutoConfiguration {
@Bean(initMethod = "init")
@ConditionalOnMissingBean
public SchedulerXClient schedulerXClient(AliCloudProperties aliCloudProperties,
EdasProperties edasProperties, ScxProperties scxProperties,
AliCloudEdasSdk aliCloudEdasSdk) {
EdasProperties edasProperties, ScxProperties scxProperties,
AliCloudEdasSdk aliCloudEdasSdk) {
return AliCloudScxInitializer.initialize(aliCloudProperties, edasProperties,
scxProperties, aliCloudEdasSdk);
scxProperties, aliCloudEdasSdk);
}
}

View File

@@ -1,107 +0,0 @@
package org.springframework.cloud.alicloud.context.sms;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.alicloud.context.AliCloudProperties;
import org.springframework.core.env.Environment;
import org.springframework.util.StringUtils;
import java.io.Serializable;
/**
* @author pbting
*/
@ConfigurationProperties(prefix = "spring.cloud.alicloud.sms")
public class SmsConfigProperties implements Serializable {
// 产品名称:云通信短信API产品,开发者无需替换
public static final String smsProduct = "Dysmsapi";
// 产品域名,开发者无需替换
public static final String smsDomain = "dysmsapi.aliyuncs.com";
private AliCloudProperties aliCloudProperties;
/**
*
*/
private String reportQueueName;
/**
*
*/
private String upQueueName;
/**
*
*/
protected String connnectTimeout = "10000";
/**
*
*/
protected String readTimeout = "10000";
public SmsConfigProperties(AliCloudProperties aliCloudProperties) {
this.aliCloudProperties = aliCloudProperties;
}
public String getConnnectTimeout() {
return connnectTimeout;
}
public void setConnnectTimeout(String connnectTimeout) {
this.connnectTimeout = connnectTimeout;
}
public String getReadTimeout() {
return readTimeout;
}
public void setReadTimeout(String readTimeout) {
this.readTimeout = readTimeout;
}
public void overiideFromEnv(Environment environment) {
overiideCustomFromEnv(environment);
if (StringUtils.isEmpty(connnectTimeout)) {
String resolveResult = environment.resolveRequiredPlaceholders(
"${spring.cloud.alibaba.sms.connect-timeout:}");
this.setConnnectTimeout(
StringUtils.isEmpty(resolveResult) ? "10000" : resolveResult);
}
if (StringUtils.isEmpty(readTimeout)) {
String resolveResult = environment.resolveRequiredPlaceholders(
"${spring.cloud.alibaba.sms.read-timeout:}");
this.setReadTimeout(
StringUtils.isEmpty(resolveResult) ? "10000" : resolveResult);
}
}
public void overiideCustomFromEnv(Environment environment) {
// nothing to do
}
public String getReportQueueName() {
return reportQueueName;
}
public void setReportQueueName(String reportQueueName) {
this.reportQueueName = reportQueueName;
}
public String getUpQueueName() {
return upQueueName;
}
public String getAccessKeyId() {
return aliCloudProperties.getAccessKey();
}
public String getAccessKeySecret() {
return aliCloudProperties.getSecretKey();
}
public void setUpQueueName(String upQueueName) {
this.upQueueName = upQueueName;
}
}

View File

@@ -1,26 +0,0 @@
package org.springframework.cloud.alicloud.context.sms;
import org.springframework.core.env.Environment;
import javax.annotation.PostConstruct;
/**
* @author pbting
*/
public class SmsConfigRegistration {
private Environment environment;
private SmsConfigProperties smsConfigProperties;
public SmsConfigRegistration(Environment environment,
SmsConfigProperties smsConfigProperties) {
this.environment = environment;
this.smsConfigProperties = smsConfigProperties;
}
@PostConstruct
public void initSmsConfigRegistration() {
smsConfigProperties.overiideFromEnv(environment);
}
}

View File

@@ -3,28 +3,16 @@ package org.springframework.cloud.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.cloud.alicloud.context.AliCloudProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
/**
* @author pbting
* @author xiaolongzuo
*/
@Configuration
@EnableConfigurationProperties
@EnableConfigurationProperties(SmsProperties.class)
@ConditionalOnClass(name = "com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest")
@ConditionalOnProperty(value = "spring.cloud.alibaba.deshao.enable.sms", matchIfMissing = true)
public class SmsContextAutoConfiguration {
@Bean
public SmsConfigProperties smsConfigProperties(
AliCloudProperties aliCloudProperties) {
return new SmsConfigProperties(aliCloudProperties);
}
@Bean
public SmsConfigRegistration smsConfigRegistration(Environment environment,
SmsConfigProperties smsConfigProperties) {
return new SmsConfigRegistration(environment, smsConfigProperties);
}
}

View File

@@ -0,0 +1,74 @@
package org.springframework.cloud.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 smsProduct = "Dysmsapi";
/**
* Product domain.
*/
public static final String smsDomain = "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;
}
}

View File

@@ -46,6 +46,10 @@ import com.alibaba.cloud.context.statistics.StatisticsTask;
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_CONFIG_SERVER_MODE_VALUE = "EDAS";
@Autowired(required = false)
private AliCloudEdasSdk aliCloudEdasSdk;
@@ -102,6 +106,10 @@ public class StatisticsTaskStarter implements InitializingBean {
if (acmContextBootstrapConfiguration != null && acmEnableEdas) {
components.add("SC-ACM");
}
if (NACOS_CONFIG_SERVER_MODE_VALUE
.equals(System.getProperty(NACOS_CONFIG_SERVER_MODE_KEY))) {
components.add("SC-NACOS-CONFIG");
}
return components;
}