解決:@FeignClient的fallback、fallbackFactory不起作用解決
阿新 • • 發佈:2022-04-02
摘要:最近在專案中使用到了@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配置,為了保險,我這裡對這兩個都進行了配置,原始碼如下: