美文网首页
Hystrix全局服务降级defaultProperties

Hystrix全局服务降级defaultProperties

作者: 拄杖忙学轻声码 | 来源:发表于2021-07-13 00:33 被阅读0次

1、大家都知道,如果使用@HystixCommand注解的原始方式对服务降级,每个业务方法对应一个兜底的方法,代码膨胀,和业务逻辑代码混在一起,很混乱
2、为了避免上述问题,所以我们需要统一和自定义的分开方式降级,需要全局降级
3、使用feign接口系列,@DefaultProperties(defaultFallback = ""),通用和独享的降级方法分开,避免代码膨胀合理减少了代码量,用法如下:
第一步:

    //下面是全局 fallback 方法
    public CommonResult payment_Global_FallbackMethod(){
        return success("Global异常处理信息,请稍后再试!");
    }

第二步:
加全局降级类注释代码

@DefaultProperties(defaultFallback = "payment_Global_FallbackMethod")

第三步:
方法加上@HystrixCommand注解,如果方法注解指明了fallbackMethod就用自定的降级方法,否则就走全局降级方法

    @GetMapping("/payment/hystrix/timeout/{id}")
//    @HystrixCommand(fallbackMethod = "paymentInfo_TimeOutFallbackMethod",commandProperties = {
//            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "1500")
//    })
    @HystrixCommand
    public CommonResult paymentInfo_TimeOut(@PathVariable("id") Integer id){
        int num = 10/0;
        return paymentHystrixService.paymentInfo_TimeOut(id);
    }

相关文章

网友评论

      本文标题:Hystrix全局服务降级defaultProperties

      本文链接:https://www.haomeiwen.com/subject/viqjpltx.html