1. 程式人生 > 其它 >解決:@FeignClient的fallback、fallbackFactory不起作用解決

解決:@FeignClient的fallback、fallbackFactory不起作用解決

摘要:最近在專案中使用到了@FeignClient,在裡面使用了fallbackFactory,並且在被呼叫方模擬了個異常,發現fallbackFactory並沒有起作用,沒法達到服務降級的目的,application.yml加了feign:hystrix:enabled: true配置也無濟於事,翻了下原始碼找到了解決辦法。

一、解決辦法

在application.yml中新增配置:

feign:
  hystrix:
    enabled: true
  circuitbreaker:
    enabled: true

所用依賴spring-cloud-starter-openfeign

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>3.1.1</version>
        </dependency>    

二、問題分析

feign.circuitbreaker.enabled是幹嘛的?有啥用?在原始碼中我們可以看到相關介紹,就會發現,造成問題的根本原因就是依賴問題。

當feign.hystrix.enabled不起作用時可以使用feign.circuitbreaker.enabled配置,為了保險,我這裡對這兩個都進行了配置,原始碼如下:

 三、正確使用示例