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