侧边栏壁纸
博主头像
木易成

聊聊软件、聊聊金融、聊聊篮球

  • 累计撰写 29 篇文章
  • 累计创建 18 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

问题:@FeignClient中的fallbackFactory,fallback不起作用

木易成
2022-11-07 / 0 评论 / 0 点赞 / 2,929 阅读 / 231 字

问题

项目使用FeignClient注解,fallbackFactory,fallback属性配置均不起作用。真正的降级方法并未执行;

解决方式

  • 整合hystrix application.yml添加配置
feign:
  hystrix:
    enabled: true
  circuitbreaker:
    enabled: true

因为不同版本开启方式不同,如果想知道自己版本对应的开启方式,方式一可以去官网查看,方式二简单点直接按住ctrl建看看那个enabled能点进去出现spring-configuration-metadata.json即可采用此配置

  • 整合sentinel,application.yml添加配置:
feign:
  sentinel:
    enabled: true

正确示例

  1. 启用openfeign
@EnableFeignClients
@SpringBootApplication
public class App {
    
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
  1. 添加@FeignClient注解
@FeignClient(name = "feignService",url = "http://localhost:8080/feign/",fallbackFactory = DemoFallbackFactory.class)
public interface FeignService {
    @GetMapping("/demo")
    String getDemo();
}
  1. 添加fallbackFactory对应工厂类
@Component
public class DemoFallbackFactory implements FallbackFactory<FeignService> {
    
    @Override
    public FeignService create(Throwable throwable) {
        return new FeignService() {
            @Override
            public String getDemo() {
                return "降级";
            }
        };
    }
}
0

评论区