我们项目中涉及到服务调用得地方都会定义降级, 一般降级逻辑就是返回默认值 , 降级的实现也非常简单 , 就是创建一个类实现FallbackFactory
接口 , 然后再对应的Feign客户端接口上面 , 通过@FeignClient指定降级类
@Component
@Slf4j
public class OrderServiceFallbackFactory implements FallbackFactory<OrderService> {
@Override
public OrderService create(Throwable throwable) {
log.error("调用订单服务失败",throwable);
return new OrderService() {
@Override
public String weixinPay(PayVO payVO) {
return null;
}
@Override
public Pager<OrderVO> search(Integer pageIndex, Integer pageSize, String orderNo, String openId, String startDate, String endDate) {
return new Pager<>();
}
@Override
public List<Long> getBusinessTop10Skus(Integer businessId) {
return Lists.newArrayList();
}
};
}
}