0

嘗試使用Spring Cloud Netflix v1.2.0.Release 來編寫Eureka客戶端,但面臨以下提及的問題。 PFB代碼和配置。netflix eureka客戶端「eurekaHealthIndicator」問題

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 

客戶未能啓動與以下錯誤

「在 org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration $ EurekaHealthIndicatorConfiguration 方法eurekaHealthIndicator的參數0所需類型的豆‘com.netflix.discovery.EurekaClient’那 可能不會被發現。」

下面的截圖將有錯誤堆棧

enter image description here

我甚至嘗試設置健康檢查能爲false application.yml,但它仍然不會工作的更多細節。任何幫助,將不勝感激。

問候

+1

你的依賴是什麼? – spencergibb

+1

爲什麼在應用程序和引導程序中有不同的'spring.application.name'? – spencergibb

回答

0

@spencergibb提到它在添加依賴項時確實出錯了,我試過通過http://start.spring.io/來創建一個新項目,它解決了我的問題。

0

的問題似乎是,你命名你的客戶EurekaClient,已經有該名稱的bean。將這個類重命名爲其他東西,它應該可以工作