From 0e4eb9ef1fd7e82f431f447b452bbc185ba4b508 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Thu, 15 Jan 2015 14:07:52 +0000 Subject: [PATCH] Use @ConditionalOnProperty where possible --- .../eureka/EurekaClientAutoConfiguration.java | 4 +-- .../EurekaDiscoveryClientConfiguration.java | 4 +-- .../hystrix/HystrixAutoConfiguration.java | 4 +-- .../HystrixCircuitBreakerConfiguration.java | 27 ++++++++++--------- .../eureka/RibbonEurekaAutoConfiguration.java | 4 +-- .../amqp/HystrixStreamAutoConfiguration.java | 4 +-- .../netflix/sidecar/SidecarConfiguration.java | 4 +-- .../amqp/TurbineAmqpAutoConfiguration.java | 4 +-- 8 files changed, 28 insertions(+), 27 deletions(-) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration.java index a3a3696d..14853a7d 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration.java @@ -19,8 +19,8 @@ import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -38,7 +38,7 @@ import com.netflix.discovery.converters.XmlXStream; @Configuration @EnableConfigurationProperties @ConditionalOnClass(EurekaClientConfig.class) -@ConditionalOnExpression("${eureka.client.enabled:true}") +@ConditionalOnProperty(value = "eureka.client.enabled", matchIfMissing = true) public class EurekaClientAutoConfiguration { @Autowired diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java index 43874973..9a982d46 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java @@ -28,8 +28,8 @@ import org.springframework.boot.actuate.endpoint.Endpoint; import org.springframework.boot.actuate.metrics.reader.MetricReader; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.client.discovery.DiscoveryClient; @@ -60,7 +60,7 @@ import com.netflix.discovery.shared.EurekaJerseyClient; @Configuration @EnableConfigurationProperties @ConditionalOnClass(EurekaClientConfig.class) -@ConditionalOnExpression("${eureka.client.enabled:true}") +@ConditionalOnProperty(value = "eureka.client.enabled", matchIfMissing = true) public class EurekaDiscoveryClientConfiguration implements SmartLifecycle, Ordered { private static final Logger logger = LoggerFactory diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java index 0bc0e716..489c84d8 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java @@ -20,7 +20,7 @@ import org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfigu import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -32,7 +32,7 @@ import com.netflix.hystrix.Hystrix; */ @Configuration @ConditionalOnClass({ Hystrix.class, HealthIndicator.class }) -@ConditionalOnExpression("${health.hystrix.enabled:true}") +@ConditionalOnProperty(value = "health.hystrix.enabled", matchIfMissing = true) @AutoConfigureAfter({ HealthIndicatorAutoConfiguration.class }) public class HystrixAutoConfiguration { diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java index d2441d13..72f7a48b 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java @@ -16,12 +16,12 @@ package org.springframework.cloud.netflix.hystrix; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.netflix.hystrix.Hystrix; -import com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect; -import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsPoller; -import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsPoller.MetricsAsJsonPollerListener; -import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.apache.catalina.core.ApplicationContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -30,18 +30,19 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.endpoint.Endpoint; import org.springframework.boot.actuate.metrics.GaugeService; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.SmartLifecycle; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.netflix.hystrix.Hystrix; +import com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect; +import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsPoller; +import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsPoller.MetricsAsJsonPollerListener; +import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet; /** * @author Spencer Gibb @@ -61,7 +62,7 @@ public class HystrixCircuitBreakerConfiguration { } @Configuration - @ConditionalOnExpression("${hystrix.stream.endpoint.enabled:true}") + @ConditionalOnProperty(value = "hystrix.stream.endpoint.enabled", matchIfMissing = true) @ConditionalOnWebApplication @ConditionalOnClass({Endpoint.class, HystrixMetricsStreamServlet.class}) protected static class HystrixWebConfiguration { diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonEurekaAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonEurekaAutoConfiguration.java index 706bff36..ce9f8618 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonEurekaAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/eureka/RibbonEurekaAutoConfiguration.java @@ -18,7 +18,7 @@ package org.springframework.cloud.netflix.ribbon.eureka; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonClients; @@ -35,7 +35,7 @@ import com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList; @EnableConfigurationProperties @ConditionalOnClass(DiscoveryEnabledNIWSServerList.class) @ConditionalOnBean(SpringClientFactory.class) -@ConditionalOnExpression("${ribbon.eureka.enabled:true}") +@ConditionalOnProperty(value = "ribbon.eureka.enabled", matchIfMissing = true) @AutoConfigureAfter(RibbonAutoConfiguration.class) @RibbonClients(defaultConfiguration = EurekaRibbonClientConfiguration.class) public class RibbonEurekaAutoConfiguration { diff --git a/spring-cloud-netflix-hystrix-amqp/src/main/java/org/springframework/netflix/hystrix/amqp/HystrixStreamAutoConfiguration.java b/spring-cloud-netflix-hystrix-amqp/src/main/java/org/springframework/netflix/hystrix/amqp/HystrixStreamAutoConfiguration.java index 056cf349..d371478b 100644 --- a/spring-cloud-netflix-hystrix-amqp/src/main/java/org/springframework/netflix/hystrix/amqp/HystrixStreamAutoConfiguration.java +++ b/spring-cloud-netflix-hystrix-amqp/src/main/java/org/springframework/netflix/hystrix/amqp/HystrixStreamAutoConfiguration.java @@ -7,7 +7,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.netflix.Constants; import org.springframework.context.annotation.Bean; @@ -27,7 +27,7 @@ import com.netflix.hystrix.HystrixCircuitBreaker; */ @Configuration @ConditionalOnClass({ HystrixCircuitBreaker.class, RabbitTemplate.class }) -@ConditionalOnExpression("${hystrix.stream.amqp.enabled:true}") +@ConditionalOnProperty(value = "hystrix.stream.amqp.enabled", matchIfMissing = true) @IntegrationComponentScan(basePackageClasses = HystrixStreamChannel.class) @EnableConfigurationProperties @EnableScheduling diff --git a/spring-cloud-netflix-sidecar/src/main/java/org/springframework/cloud/netflix/sidecar/SidecarConfiguration.java b/spring-cloud-netflix-sidecar/src/main/java/org/springframework/cloud/netflix/sidecar/SidecarConfiguration.java index 191df1d2..72f39ed7 100644 --- a/spring-cloud-netflix-sidecar/src/main/java/org/springframework/cloud/netflix/sidecar/SidecarConfiguration.java +++ b/spring-cloud-netflix-sidecar/src/main/java/org/springframework/cloud/netflix/sidecar/SidecarConfiguration.java @@ -1,7 +1,7 @@ package org.springframework.cloud.netflix.sidecar; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean; import org.springframework.context.annotation.Bean; @@ -12,7 +12,7 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @EnableConfigurationProperties -@ConditionalOnExpression("${sidecar.enabled:true}") +@ConditionalOnProperty(value = "sidecar.enabled", matchIfMissing = true) public class SidecarConfiguration { @Value("${server.port:${SERVER_PORT:${PORT:8080}}}") private int serverPort = 8080; diff --git a/spring-cloud-netflix-turbine-amqp/src/main/java/org/springframework/cloud/netflix/turbine/amqp/TurbineAmqpAutoConfiguration.java b/spring-cloud-netflix-turbine-amqp/src/main/java/org/springframework/cloud/netflix/turbine/amqp/TurbineAmqpAutoConfiguration.java index c83b8dae..068ad3b6 100644 --- a/spring-cloud-netflix-turbine-amqp/src/main/java/org/springframework/cloud/netflix/turbine/amqp/TurbineAmqpAutoConfiguration.java +++ b/spring-cloud-netflix-turbine-amqp/src/main/java/org/springframework/cloud/netflix/turbine/amqp/TurbineAmqpAutoConfiguration.java @@ -15,7 +15,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.netflix.Constants; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -30,7 +30,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; */ @Configuration @ConditionalOnClass(AmqpTemplate.class) -@ConditionalOnExpression("${turbine.amqp.enabled:true}") +@ConditionalOnProperty(value = "turbine.amqp.enabled", matchIfMissing = true) public class TurbineAmqpAutoConfiguration { @Autowired