摘要:最近在项目中使用到了@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配置,为了保险,我这里对这两个都进行了配置,源码如下:

 三、正确使用示例

转自:
https://www.cnblogs.com/smiles365/p/16091379.html