引用docs:
@EnableDiscoveryClient使应用程序成为Consul" service" (即 它注册了自己)和一个"客户" (即它可以查询领事 找到其他服务)。
如何配置使用Feign作为REST客户端的Spring Boot应用程序,并在Consul中查找服务实例,但不在Consul注册应用程序本身?
我试过了:
一个。
的各种组合spring.cloud.consul.enabled = true
spring.cloud.consul.discovery.enabled = true
湾根本不要使用注释,只有
@EnableFeignClients
// @EnableDiscoveryClient
在通话期间产生异常:
org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名称为' ribbonServerList'的bean时出错定义于 org.springframework.cloud.consul.discovery.ConsulRibbonClientConfiguration: 通过方法' ribbonServerList'表达不满意的依赖关系。 参数1;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有 合格的bean类型 ' org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties' 可用:预计至少有1个符合autowire资格的bean 候选人。依赖注释:{}
我的FeingClient
界面注释如下:
@FeignClient(value = "test-service")
其中test-service是Consul中成功注册的服务。
答案 0 :(得分:2)
您应该使用@EnableDiscoveryClient(autoRegister=false)
。