【发布时间】:2017-02-23 11:09:21
【问题描述】:
尝试使用 Spring Cloud Netflix v1.2.0.Release 编写 Eureka Client 但面临下面提到的问题。 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 找不到。”
下面的截图将有更多关于错误堆栈的细节
我什至尝试在 application.yml 中将 healthcheck enable 设置为 false,但它仍然无法正常工作。任何帮助将不胜感激。
问候
【问题讨论】:
-
你的依赖是什么?
-
为什么你在应用程序和引导程序中有不同的
spring.application.names?
标签: spring-cloud microservices netflix-eureka spring-cloud-netflix