代码语言: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