0

在我的项目中,不同的服务被部署为微服务,授权和身份验证在一个公共 jar 文件中处理,该文件作为依赖项添加到每个微服务项目中。

微服务之间的通信是通过feign客户端完成的

此类服务的 Gradle 文件如下所示

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    compile('org.springframework.cloud:spring-cloud-starter-eureka'){
    compile('org.springframework.cloud:spring-cloud-starter-config')
    compile('org.springframework.cloud:spring-cloud-starter-hystrix')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    compile ('org.springframework.cloud:spring-cloud-starter-hystrix-dashboard')
    compile('org.springframework.cloud:spring-cloud-starter-sleuth')
    compile('org.springframework.cloud:spring-cloud-starter-oauth2')
    compile("org.springframework.cloud:spring-cloud-starter-feign")
    }

在一种情况下,我被迫在我的 OAuth 库中使用 feign 客户端来调用我的授权微服务,并且 jar 的依赖文件如下所示

dependencies {
    compile('org.springframework.cloud:spring-cloud-starter-oauth2:1.1.3.RELEASE')
    compile('com.nimbusds:nimbus-jose-jwt:4.33')
    compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-feign', version: '1.3.1.RELEASE'
    compile("org.springframework.cloud:spring-cloud-starter-feign")
      } 

但是当我使用我的服务部署新的 jar 文件时,在我的 jar 文件中实现的 feign 客户端不起作用。调用直接命中回退服务。

我删除了这个 feign 客户端并在微服务中添加和测试它,它工作正常。

请帮我解决这个问题

4

1 回答 1

0

我解决了这个问题。这是我的错。问题出在我的假配置中。更正了。我使用了 "name" 而不是 "value" 。

  @FeignClient(value = "customer-service", fallback = CustomerFeignFallback.class, configuration = FeignConf.class)
    public interface CustomerFeignClient {

这对我有用。

于 2017-06-21T13:32:41.760 回答