摘要:最近在項目中使用到了@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配置,為了保險,我這里對這兩個都進行了配置,源碼如下:


三、正確使用示例

