解决:@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配置,为了保险,我这里对这两个都进行了配置,源码如下: