From 52c9310bb00603f645ce731a5519e53fed46562a Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 2 Jan 2015 09:06:37 +0000 Subject: [PATCH] Add back EnableEurekaClient as a courtesy It's nice to have an annotation to say "I want Eureka discovery". At the moment it is a pass thru for @EnableDiscoveryClient, but in principle it could be used to select Eureka over another provider even if both were on the classpath. --- .../netflix/eureka/EnableEurekaClient.java | 32 +++++++++++++++++++ .../sample/EurekaSampleApplication.java | 9 +++--- 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EnableEurekaClient.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EnableEurekaClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EnableEurekaClient.java new file mode 100644 index 00000000..5e14de65 --- /dev/null +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EnableEurekaClient.java @@ -0,0 +1,32 @@ +package org.springframework.cloud.netflix.eureka; + +/** + * @author Spencer Gibb + */ + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * Convenience annotation for clients to enable Eureka discovery configuration + * (specifically). Use this (optionally) in case you want discovery and know for sure that + * it is Eureka you want. All it does is turn on discovery and let the autoconfiguration + * find the eureka classes if they are available (i.e. you need Eureka on the classpath as + * well). + * + * @author Dave Syer + * + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +@EnableDiscoveryClient +public @interface EnableEurekaClient { +} diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java index 446eebd7..3464933a 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java @@ -1,22 +1,23 @@ package org.springframework.cloud.netflix.eureka.sample; -import com.netflix.appinfo.HealthCheckHandler; -import com.netflix.appinfo.InstanceInfo; import org.springframework.boot.actuate.metrics.repository.InMemoryMetricRepository; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.netflix.appinfo.HealthCheckHandler; +import com.netflix.appinfo.InstanceInfo; + @Configuration @ComponentScan @EnableAutoConfiguration @RestController -@EnableDiscoveryClient +@EnableEurekaClient public class EurekaSampleApplication { @Bean