欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過Feign進行調(diào)用@FeignClient?找不到的解決方案

 更新時間:2022年03月04日 11:02:19   作者:人在旅途我漸行漸遠  
這篇文章主要介紹了通過Feign進行調(diào)用@FeignClient?找不到的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Feign進行調(diào)用@FeignClient 找不到

通過Feign 進行調(diào)用

這里配置spring-cloud 版本為 M8的

?<properties>
? ? ? ? <java.version>1.8</java.version>
? ? ? ? <spring-cloud.version>Finchley.M8</spring-cloud.version>
? ? </properties>

引入依賴

?? ??? ?<dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
? ? ? ? </dependency>

? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-openfeign</artifactId>
? ? ? ? ? ? <version>2.0.0.RC1</version>
? ? ? ? </dependency>

注意:spring-cloud 版本一定要選好,不然可能會找不到FeignClient,

再網(wǎng)上看到這樣一句話:

Spring Cloud對Feign的支持由org.springframework.cloud:spring-cloud-netflix-core

移到org.springframework.cloud:spring-cloud-openfeign-core下,

Finchley.M8版本下的spring-cloud-starter-openfeign:2.0.0.M2的pom依賴文件中導入的是

spring-cloud-netflix-core而非spring-cloud-openfeign-core,

需要我們在pom文件中添加對應依賴管理使spring-cloud-starter-openfeign版本

更新到2.0.0.RC1

那么接下來我們進行代碼整理

編寫接口

@FeignClient(name="eureka-client-1")
public interface EurekaClient {
? ? @GetMapping("/info")
? ? String getInfo();
}

調(diào)用

?@GetMapping("getMessage")
? ? public String getMessage(){
? ? ? ? String res = ?eurekaClient.getInfo();
? ? ? ? return res;
? ? }

Feign通過服務名調(diào)用服務,找不到服務

報錯環(huán)境

  • eureka注冊中心在遠程服務器上
  • 本地服務注冊到遠程的eureka注冊中心
  • 本地服務通過Fegin組件+服務名調(diào)用服務

報錯時,注冊中心的情況

Application?? ??? ??? ??? ?Status
SERVICE-HOT?? ??? ??? ?192.168.22.180:8308
SERVICE-REDIS?? ??? ?127.0.0.1:4046
SERVICE-ZUUL?? ??? ?127.0.0.1:4041

報錯情況

feign.RetryableException: connect timed out executing GET http://SERVICE-REDIS/redis/NaviKey-24149-1
    at feign.FeignException.errorExecuting(FeignException.java:84)
    at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:113)

排查后發(fā)現(xiàn):是因為注冊服務ip問題,導致本地服務無法通過服務名字找到相應的服務。

  • 遠程項目和eureka服務部署在同一臺服務器上,所以通過127.0.0.1去服務中心注冊服務是沒問題的
  • 本地項目通過遠程服務器ip來注冊服務,也沒問題
  • 在同一個注冊中心上,可以互相發(fā)現(xiàn)服務,就是通過名字可以找到對方,沒錯
  • 問題在于, 當本地SERVICE-HOT服務在eureka中心找到SERVICE-REDIS服務后,redis服務告訴他,我的服務ip地址是127.0.0.1:4046.那么,這就有問題了!!!
  • 本地服務和遠程服務不在一臺服務器上,你的127.0.0.1是自己的服務器ip,本地服務肯定找不到
  • 所以,注冊服務時,統(tǒng)一都使用服務器ip來注冊就行了,修改后的配置中心如下:
Application?? ??? ??? ??? ?Status
SERVICE-HOT?? ??? ??? ?192.168.22.180:8308
SERVICE-REDIS?? ??? ?192.168.22.180:4046
SERVICE-ZUUL?? ??? ?192.168.22.180:4041

不修改服務注冊配置,還有一種辦法:使用fegin時,通過url指定訪問服務的ip

@FeignClient(value = "SERVICE-REDIS",
? ? ? ? url="http://192.168.22.180:4041/service-redis" ,
? ? ? ? fallback = RedisSvcFallback.class)
public interface RedisSvc {

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于spring boot整合kafka+注解方式

    關(guān)于spring boot整合kafka+注解方式

    這篇文章主要介紹了關(guān)于spring boot整合kafka+注解方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 一文詳解Java中流程控制語句

    一文詳解Java中流程控制語句

    在一個程序執(zhí)行的過程中,各條語句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。也就是說,程序的流程對運行結(jié)果有直接的影響。所以,我們必須清楚每條語句的執(zhí)行流程。本文就來通過一些示例帶大家詳細了解一下
    2022-10-10
  • springcloud如何獲取網(wǎng)關(guān)封裝的頭部信息

    springcloud如何獲取網(wǎng)關(guān)封裝的頭部信息

    這篇文章主要介紹了springcloud獲取網(wǎng)關(guān)封裝的頭部信息,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Java小程序計算圓周率代碼

    Java小程序計算圓周率代碼

    這篇文章主要介紹了Java小程序計算圓周率代碼,有兩種實現(xiàn)方法,喜歡的朋友可以參考下。
    2017-09-09
  • SpringBoot整合MyBatis-Plus3.1教程詳解

    SpringBoot整合MyBatis-Plus3.1教程詳解

    這篇文章主要介紹了SpringBoot整合MyBatis-Plus3.1詳細教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • SpringMVC中的@RequestMapping注解的使用詳細教程

    SpringMVC中的@RequestMapping注解的使用詳細教程

    @RequestMapping注解的作用就是將請求和處理請求的控制器方法關(guān)聯(lián)起來,建立映射關(guān)系,本文主要來和大家詳細講講它的具體使用,感興趣的可以了解一下
    2023-07-07
  • JAVA  靜態(tài)的單例的實例詳解

    JAVA 靜態(tài)的單例的實例詳解

    這篇文章主要介紹了JAVA 靜態(tài)的單例的實例詳解的相關(guān)資料,這里提供了實例方法,來說名不僅實現(xiàn)了延遲加載,又可以保證線程安全,不影響系統(tǒng)性能,需要的朋友可以參考下
    2017-07-07
  • java如何獲取兩個List集合之間的交集、差集、并集

    java如何獲取兩個List集合之間的交集、差集、并集

    在日常開發(fā)中經(jīng)常會遇到對2個集合的操作,例如2個集合之間取相同的元素(交集),2個集合之間取不相同的元素(差集)等等,這篇文章主要給大家介紹了關(guān)于java如何獲取兩個List集合之間的交集、差集、并集的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • mybatis實現(xiàn)批量修改-xml方式

    mybatis實現(xiàn)批量修改-xml方式

    這篇文章主要介紹了mybatis實現(xiàn)批量修改-xml方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot項目導入aliyun oss starter依賴后啟動報錯問題

    SpringBoot項目導入aliyun oss starter依賴后啟動報錯問題

    這篇文章主要介紹了SpringBoot項目導入aliyun oss starter依賴后啟動報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論