From 4fd1c6831b2661f068622d8c4a014d0ab4c8b8a2 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 5 Nov 2020 11:53:42 +0100 Subject: [PATCH] Added conditions on EnvironmentMonitorAutoConfiguration --- .../EnvironmentMonitorAutoConfiguration.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java index f9b481ac..7b07d93a 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/EnvironmentMonitorAutoConfiguration.java @@ -19,6 +19,8 @@ package org.springframework.cloud.config.monitor; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +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.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.cloud.bus.BusProperties; @@ -36,13 +38,20 @@ import org.springframework.context.annotation.Import; @Import(FileMonitorConfiguration.class) public class EnvironmentMonitorAutoConfiguration { - @Autowired(required = false) - private List extractors; + @Configuration(proxyBeanMethods = false) + @ConditionalOnClass(BusProperties.class) + protected static class BusPropertyPathConfiguration { + + @Autowired(required = false) + private List extractors; + + @Bean + @ConditionalOnBean(BusProperties.class) + public PropertyPathEndpoint propertyPathEndpoint(BusProperties busProperties) { + return new PropertyPathEndpoint(new CompositePropertyPathNotificationExtractor(this.extractors), + busProperties.getId()); + } - @Bean - public PropertyPathEndpoint propertyPathEndpoint(BusProperties busProperties) { - return new PropertyPathEndpoint(new CompositePropertyPathNotificationExtractor(this.extractors), - busProperties.getId()); } @Configuration(proxyBeanMethods = false)