diff --git a/spring-cloud-netflix-core/pom.xml b/spring-cloud-netflix-core/pom.xml index b692aad69..d65b01bfe 100644 --- a/spring-cloud-netflix-core/pom.xml +++ b/spring-cloud-netflix-core/pom.xml @@ -18,11 +18,11 @@ org.springframework.boot - spring-boot-starter-web + spring-boot org.springframework.boot - spring-boot-starter-actuator + spring-boot-autoconfigure org.springframework.cloud diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfiguration.java index 618e4fb22..43b7d8af3 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/archaius/ArchaiusAutoConfiguration.java @@ -19,6 +19,7 @@ import org.apache.commons.configuration.SystemConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.endpoint.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -61,9 +62,13 @@ public class ArchaiusAutoConfiguration { return envConfig; } - @Bean - protected ArchaiusEndpoint archaiusEndpoint() { - return new ArchaiusEndpoint(); + @Configuration + @ConditionalOnClass(Endpoint.class) + protected static class ArchaiusEndpointConfuguration { + @Bean + protected ArchaiusEndpoint archaiusEndpoint() { + return new ArchaiusEndpoint(); + } } @SuppressWarnings("deprecation") 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 fc6eb5d09..438749733 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 @@ -15,14 +15,16 @@ */ package org.springframework.cloud.netflix.eureka; +import java.lang.reflect.Field; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + import javax.annotation.PreDestroy; -import com.netflix.appinfo.EurekaInstanceConfig; -import com.netflix.appinfo.HealthCheckHandler; -import com.netflix.discovery.shared.EurekaJerseyClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +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; @@ -41,16 +43,15 @@ import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; import org.springframework.core.Ordered; +import org.springframework.util.ReflectionUtils; import com.netflix.appinfo.ApplicationInfoManager; +import com.netflix.appinfo.EurekaInstanceConfig; +import com.netflix.appinfo.HealthCheckHandler; import com.netflix.appinfo.InstanceInfo.InstanceStatus; import com.netflix.discovery.DiscoveryManager; import com.netflix.discovery.EurekaClientConfig; -import org.springframework.util.ReflectionUtils; - -import java.lang.reflect.Field; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; +import com.netflix.discovery.shared.EurekaJerseyClient; /** * @author Dave Syer @@ -201,11 +202,16 @@ public class EurekaDiscoveryClientConfiguration implements SmartLifecycle, Order }; } - @Bean - @ConditionalOnMissingBean + @Configuration + @ConditionalOnClass(Endpoint.class) @ConditionalOnBean(MetricReader.class) - public EurekaHealthIndicator eurekaHealthIndicator(EurekaInstanceConfig config, - MetricReader metrics) { - return new EurekaHealthIndicator(eurekaDiscoveryClient(), metrics, config); + protected static class EurekaHealthIndicatorConfiguration { + @Bean + @ConditionalOnMissingBean + public EurekaHealthIndicator eurekaHealthIndicator( + com.netflix.discovery.DiscoveryClient eurekaDiscoveryClient, + MetricReader metrics, EurekaInstanceConfig config) { + return new EurekaHealthIndicator(eurekaDiscoveryClient, metrics, config); + } } } diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignAutoConfiguration.java index 40978aac5..37434ff60 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignAutoConfiguration.java @@ -21,28 +21,33 @@ import com.netflix.loadbalancer.ILoadBalancer; @ConditionalOnClass(Feign.class) @AutoConfigureAfter(ArchaiusAutoConfiguration.class) public class FeignAutoConfiguration { - @Bean - SpringDecoder feignDecoder() { - return new SpringDecoder(); - } + @Bean + SpringDecoder feignDecoder() { + return new SpringDecoder(); + } - @Bean - SpringEncoder feignEncoder() { - return new SpringEncoder(); - } + @Bean + SpringEncoder feignEncoder() { + return new SpringEncoder(); + } - @Bean - public Logger feignLogger() { - //return new Slf4jLogger(); //TODO pass Client classname in - return new Logger.JavaLogger(); - } + @Bean + public Logger feignLogger() { + // return new Slf4jLogger(); //TODO pass Client classname in + return new Logger.JavaLogger(); + } - @Bean - public Contract feignContract() { - return new SpringMvcContract(); - } + @Bean + public Contract feignContract() { + return new SpringMvcContract(); + } - @Bean - @ConditionalOnClass(ILoadBalancer.class) - public Client feignRibbonClient() { return new FeignRibbonClient(); } + @ConditionalOnClass(ILoadBalancer.class) + @Configuration + protected static class RibbonClientConfiguration { + @Bean + public Client feignRibbonClient() { + return new FeignRibbonClient(); + } + } } 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 c52e37548..0bc0e7162 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 @@ -31,18 +31,14 @@ import com.netflix.hystrix.Hystrix; * @author Christian Dupuis */ @Configuration -@AutoConfigureAfter({HealthIndicatorAutoConfiguration.class}) +@ConditionalOnClass({ Hystrix.class, HealthIndicator.class }) +@ConditionalOnExpression("${health.hystrix.enabled:true}") +@AutoConfigureAfter({ HealthIndicatorAutoConfiguration.class }) public class HystrixAutoConfiguration { - - @Configuration - @ConditionalOnClass({Hystrix.class, HealthIndicator.class}) - @ConditionalOnExpression("${health.hystrix.enabled:true}") - public static class HystrixHealthIndicatorConfiguration { - - @Bean - public HystrixHealthIndicator hystrixHealthIndicator() { - return new HystrixHealthIndicator(); - } + + @Bean + public HystrixHealthIndicator hystrixHealthIndicator() { + return new HystrixHealthIndicator(); } - + } diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfiguration.java index 61f0304e9..15e4e3f07 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonAutoConfiguration.java @@ -22,7 +22,7 @@ import com.netflix.client.IClient; * @author Dave Syer */ @Configuration -@ConditionalOnClass(IClient.class) +@ConditionalOnClass({IClient.class, RestTemplate.class}) @RibbonClients @AutoConfigureAfter(EurekaClientAutoConfiguration.class) public class RibbonAutoConfiguration { diff --git a/spring-cloud-netflix-eureka-server/pom.xml b/spring-cloud-netflix-eureka-server/pom.xml index 86c3ae7e0..24115530b 100644 --- a/spring-cloud-netflix-eureka-server/pom.xml +++ b/spring-cloud-netflix-eureka-server/pom.xml @@ -32,6 +32,10 @@ org.springframework.boot spring-boot-starter-log4j + + org.springframework.boot + spring-boot-starter-actuator + org.springframework.boot spring-boot-starter-freemarker diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java index 9e74294c8..3bf42189b 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/ApplicationServletPathTests.java @@ -56,7 +56,7 @@ public class ApplicationServletPathTests { assertEquals(HttpStatus.OK, entity.getStatusCode()); String body = entity.getBody(); // System.err.println(body); - assertTrue(body.contains("euerka/js")); + assertTrue(body.contains("eureka/js")); assertTrue(body.contains("eureka/css")); // The "DS Replicas" assertTrue(body.contains("localhost")); diff --git a/spring-cloud-netflix-sidecar/pom.xml b/spring-cloud-netflix-sidecar/pom.xml index fc54729d0..578a64f22 100644 --- a/spring-cloud-netflix-sidecar/pom.xml +++ b/spring-cloud-netflix-sidecar/pom.xml @@ -25,6 +25,18 @@ org.springframework.cloud spring-cloud-commons + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework + spring-web org.springframework.cloud @@ -66,7 +78,11 @@ com.netflix.zuul zuul-core - + + org.apache.tomcat.embed + tomcat-embed-el + + org.projectlombok lombok diff --git a/spring-cloud-netflix-turbine/pom.xml b/spring-cloud-netflix-turbine/pom.xml index c99a8e0ca..d3fffc5d0 100644 --- a/spring-cloud-netflix-turbine/pom.xml +++ b/spring-cloud-netflix-turbine/pom.xml @@ -38,6 +38,10 @@ + + org.springframework.boot + spring-boot-starter-web + org.springframework.cloud spring-cloud-commons