springcloud哪些异常可以走fallback逻辑

2022-03-29 14:38:52 浏览数 (1)

代码语言:javascript复制
@FeignClient(name="application-name",
fallback=xxxFallback.class)
 public interface CommonModuleService {
 
     /**
      * 
      * @return
      */
     @PostMapping("/commonOrganize/listOrgs")
     ApiResultTo<List<Organize>> getOnlineOrgs(@RequestBody String json);

上面一段代码是我们在使用springcloud时常会遇到的,通过FeignClient来定义一个请求客户端,springcloud框架会为该接口类创建一个动态代理,fallback属性可以实现对应接口方法的降级处理,当服务调用超时或者调不通的时候就会进入fallback处理,那么具体哪些异常或者失败情况可以进入fallback处理逻辑呢,答案是非HystrixBadRequestException异常外其他异常都可以进入fallback处理。

上述前提是开启feign的hyxtrix熔断特性:feign.hystrix.enabled = true

否则调不通就会抛出ClientException

0 人点赞