首页 文章

Feign Consul:仅启用发现(客户端),而不启用注册(服务)

提问于
浏览
0

引用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 回答

  • 1

    你应该使用 @EnableDiscoveryClient(autoRegister=false) .

相关问题