中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

發布時間:2021-02-02 11:22:27 來源:億速云 閱讀:565 作者:小新 欄目:編程語言

小編給大家分享一下SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.第一步,新建兩個簡單的springboot項目并創建rest接口

demo系統的rest接口

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

plus系統的調用接口

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

2.在項目pom文件里導入feign和hystrix的pom依賴包

<properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
  </properties>

<!-- 支持使用feign客戶端 -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>
    <!-- 支持使用hystrix斷路器 -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    </dependency>

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

3.創建遠程調用client及熔斷回調類

package com.mybatis.plus.web.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;

@FeignClient(name="demo",url="${conf.address.demo}",fallbackFactory=DemoFeignClientFB.class)
public interface DemoFeignClient {
  
  @RequestMapping("cmpOclOrder/demoFeign")
  public String testFeign();

}
package com.mybatis.plus.web.client;

import feign.hystrix.FallbackFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Component;

@Component
public class DemoFeignClientFB implements FallbackFactory<DemoFeignClient> {
  private static Log logger = LogFactory.getLog(DemoFeignClientFB.class);

  @Override
  public DemoFeignClient create(Throwable throwable) {
    return new DemoFeignClient() {
      @Override
      public String testFeign() {
        return "demo系統接口調用失敗";
      }
    };
  }
}

這里的url在配置文件里面有定義(就是需要調用系統的IP及端口)

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

如果要支持熔斷(如果調用遠程接口報錯,遠程接口就返回一個固定的值)需要在配置文件里啟用hystrix

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

4.在啟動類上加上支持feign的注解就ok了(這里basePackages值是定義client類的包路徑)

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

5.測試效果展示

調用plus系統的plusTest接口

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

demo系統接口時報錯(修改代碼-重啟)

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

返回固定的值

SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷

以上是“SpringBoot如何使用feign實現遠程接口調用和錯誤熔斷”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永顺县| 绥阳县| 万安县| 龙江县| 宁蒗| 苗栗县| 汝阳县| 高州市| 贡山| 南投市| 华宁县| 江口县| 泸定县| 嘉禾县| 云霄县| 招远市| 北川| 德令哈市| 若尔盖县| 常宁市| 镇坪县| 保山市| 广德县| 搜索| 凤凰县| 永靖县| 仙居县| 象山县| 日土县| 萍乡市| 大渡口区| 沽源县| 四子王旗| 汝阳县| 鹿邑县| 新龙县| 新晃| 庆城县| 武强县| 洞头县| 沁水县|