在我的项目中,不同的服务被部署为微服务,授权和身份验证在一个公共 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 客户端并在微服务中添加和测试它,它工作正常。
请帮我解决这个问题