diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java index 3f70dfb4e..0356ef7c8 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java @@ -20,13 +20,20 @@ import static com.google.common.collect.Iterables.*; */ public class EurekaDiscoveryClient implements DiscoveryClient { - @Autowired + public static final String DESCRIPTION = "Spring Cloud Eureka Discovery Client"; + + @Autowired private EurekaInstanceConfigBean config; @Autowired private com.netflix.discovery.DiscoveryClient discovery; - @Override + @Override + public String description() { + return DESCRIPTION; + } + + @Override public ServiceInstance getLocalServiceInstance() { return new ServiceInstance() { @Override diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaHealthIndicator.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaHealthIndicator.java index d489bfec7..626e3cf4c 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaHealthIndicator.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaHealthIndicator.java @@ -21,7 +21,6 @@ import java.util.Map; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.Status; import org.springframework.boot.actuate.metrics.Metric; import org.springframework.boot.actuate.metrics.reader.MetricReader; @@ -30,12 +29,13 @@ import com.netflix.appinfo.EurekaInstanceConfig; import com.netflix.discovery.DiscoveryClient; import com.netflix.discovery.shared.Application; import com.netflix.discovery.shared.Applications; +import org.springframework.cloud.client.discovery.DiscoveryHealthIndicator; /** * @author Dave Syer * */ -public class EurekaHealthIndicator implements HealthIndicator { +public class EurekaHealthIndicator implements DiscoveryHealthIndicator { private EurekaInstanceConfig instanceConfig; @@ -53,6 +53,11 @@ public class EurekaHealthIndicator implements HealthIndicator { this.instanceConfig = instanceConfig; } + @Override + public String getName() { + return "eureka"; + } + @Override public Health health() { Builder builder = Health.unknown(); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java index 8e4f4a0b4..4385aa12d 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/ApplicationTests.java @@ -9,7 +9,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) +@SpringApplicationConfiguration(classes = EurekaSampleApplication.class) @WebAppConfiguration @IntegrationTest("server.port=0") @DirtiesContext diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/Application.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java similarity index 78% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/Application.java rename to spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java index 6df092923..446eebd72 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/Application.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/eureka/sample/EurekaSampleApplication.java @@ -2,6 +2,7 @@ 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; @@ -16,7 +17,12 @@ import org.springframework.web.bind.annotation.RestController; @EnableAutoConfiguration @RestController @EnableDiscoveryClient -public class Application { +public class EurekaSampleApplication { + + @Bean + public InMemoryMetricRepository inMemoryMetricRepository() { + return new InMemoryMetricRepository(); + } @Bean public HealthCheckHandler healthCheckHandler() { @@ -34,7 +40,7 @@ public class Application { } public static void main(String[] args) { - new SpringApplicationBuilder(Application.class).web(true).run(args); + new SpringApplicationBuilder(EurekaSampleApplication.class).web(true).run(args); } } diff --git a/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplication.java b/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplication.java index 956559fa9..914fb7b9d 100644 --- a/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplication.java +++ b/spring-cloud-netflix-sidecar/src/test/java/org/springframework/cloud/netflix/sidecar/SidecarApplication.java @@ -1,13 +1,21 @@ package org.springframework.cloud.netflix.sidecar; import org.springframework.boot.SpringApplication; +import org.springframework.boot.actuate.metrics.repository.InMemoryMetricRepository; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @EnableSidecar @RestController public class SidecarApplication { + + @Bean + public InMemoryMetricRepository inMemoryMetricRepository() { + return new InMemoryMetricRepository(); + } + public static void main(String[] args) { SpringApplication.run(SidecarApplication.class, args); }