我的 feign 客户端目前无法使用 Eureka 发现服务实例。我的配置包括以下注释:
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableDiscoveryClient
@FeignClientScan
我包括以下依赖项(spring-cloud 1.0.0-BUILD-SNAPSHOT):
org.springframework.cloud:spring-cloud-starter-eureka
com.netflix.feign:feign-core
com.netflix.feign:feign-ribbon
据我所知,feign 客户端使用 a ,因此需要在配置文件(属性)ConfigurationBasedServerList
中明确指定可用服务实例的地址。ribbon.serverList
但是,如果我明确指定,一切正常:
ribbon.NIWSServerListClassName: com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
我的测试应用程序还使用了基于 Spring RestTemplate 的客户端,该客户端自动配置为使用启用了 Eureka 的 Ribbon 实现。奇怪的是,如果首先调用 RestTemplate,Feign 客户端工作正常(即找到服务实例)。看起来 RestTemplate 设置在某处执行了一些(静态)初始化,然后对 feign 客户端有利。
我是否错过了应该如何配置 Feign 支持的内容?