与netflix eureka客户端的“eurekaHealthIndicator”问题

时间:2016-10-14 06:07:19

标签: spring-cloud microservices netflix-eureka spring-cloud-netflix

尝试使用Spring Cloud Netflix v1.2.0编写Eureka客户端。请发布  但面对下面提到的问题。 PFB代码和配置。

EurekaClient.java

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
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;


    @Configuration
    @EnableAutoConfiguration
    @EnableEurekaClient
    @RestController
    @ComponentScan(basePackages={"com.west.eas.netflix.config"})
    public class EurekaClient {

        @RequestMapping("/")
          public String home() {
            return "Hello World";
          }

          public static void main(String[] args) {
              new SpringApplicationBuilder(EurekaClient.class).run(args);
          }


    }

application.yml

server:  
  port: 9000

spring:  
  application:
    name: eas-eureka-client

eureka:  
  client:
    healthcheck:
      enabled: true
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    preferIpAddress: true

bootstrap.yml

spring:
  application:
    name: eu-client
  cloud:
    config:
      uri: http://localhost:8888
encrypt:
  failOnError: false

客户端无法启动以下错误

  

“eurekaHealthIndicator方法的参数0”   org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration $ EurekaHealthIndicatorConfiguration   需要一个'com.netflix.discovery.EurekaClient'类型的bean   无法找到。“

以下屏幕截图将提供有关错误堆栈的更多详细信息

enter image description here

我甚至尝试在application.yml中将healthcheck enable设置为false,但它仍然无法正常工作。任何帮助将不胜感激。

此致

2 个答案:

答案 0 :(得分:0)

问题似乎是您正在命名您的客户 EurekaClient ,已经有一个具有该名称的bean。将该类重命名为其他类,它应该可以正常工作

答案 1 :(得分:0)

正如@spencergibb提到的,在添加依赖项时确实出错了,我尝试通过http://start.spring.io/创建一个新项目来解决我的问题。