91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

库车县| 西安市| 灵武市| 曲阜市| 四会市| 正蓝旗| 衡阳市| 田阳县| 织金县| 和田市| 博白县| 城口县| 桂东县| 胶南市| 尚志市| 墨江| 定安县| 和平县| 庆云县| 探索| 绩溪县| 台前县| 云安县| 云龙县| 富源县| 澄城县| 乡城县| 达尔| 南溪县| 石门县| 缙云县| 齐齐哈尔市| 屏东县| 靖西县| 沛县| 呼和浩特市| 宜兴市| 同仁县| 临桂县| 澳门| 胶州市|