fix #744 Add spring.cloud.alicloud.acm.enable to ACM module

Add spring.cloud.alicloud.acm.enable to ACM module by adding
`@ConditionalOnProperty` annotations on auto-configuration classes and
bootstrap-configuration classes
pull/776/head
Rivers-Shall 6 years ago
parent 59c72752eb
commit 3193311af9

@ -18,6 +18,7 @@ package com.alibaba.alicloud.acm;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.context.refresh.ContextRefresher; import org.springframework.cloud.context.refresh.ContextRefresher;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
@ -37,6 +38,7 @@ import com.taobao.diamond.client.Diamond;
*/ */
@Configuration @Configuration
@ConditionalOnClass({ Diamond.class }) @ConditionalOnClass({ Diamond.class })
@ConditionalOnProperty(name = "spring.cloud.alicloud.acm.enable", matchIfMissing = true)
public class AcmAutoConfiguration implements ApplicationContextAware { public class AcmAutoConfiguration implements ApplicationContextAware {
private ApplicationContext applicationContext; private ApplicationContext applicationContext;

@ -17,6 +17,7 @@
package com.alibaba.alicloud.acm.bootstrap; package com.alibaba.alicloud.acm.bootstrap;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.bootstrap.config.PropertySourceLocator; import org.springframework.cloud.bootstrap.config.PropertySourceLocator;
import org.springframework.core.env.CompositePropertySource; import org.springframework.core.env.CompositePropertySource;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
@ -28,6 +29,7 @@ import com.alibaba.alicloud.context.acm.AcmIntegrationProperties;
* @author juven.xuxb * @author juven.xuxb
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@ConditionalOnProperty(name = "spring.cloud.alicloud.acm.enable", matchIfMissing = true)
public class AcmPropertySourceLocator implements PropertySourceLocator { public class AcmPropertySourceLocator implements PropertySourceLocator {
private static final String DIAMOND_PROPERTY_SOURCE_NAME = "diamond"; private static final String DIAMOND_PROPERTY_SOURCE_NAME = "diamond";

@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
@ -32,6 +33,7 @@ import com.alibaba.alicloud.context.acm.AcmProperties;
*/ */
@ConditionalOnWebApplication @ConditionalOnWebApplication
@ConditionalOnClass(name = "org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration") @ConditionalOnClass(name = "org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration")
@ConditionalOnProperty(name = "spring.cloud.alicloud.acm.enable", matchIfMissing = true)
public class AcmEndpointAutoConfiguration { public class AcmEndpointAutoConfiguration {
@Autowired @Autowired

Loading…
Cancel
Save