springcloud alibaba——@sentinelResource注解的使用

注:sentinel中的@sentinelResource注解的使用相当于Hystrix中的@HystrixCommand注解,目的是当微服务系统中出现异常时,能够反馈给客户我们自己定义的页面,如果不使用该注解也可以,那么出现异常反馈给客户的页面是由系统自定义的(比较的单调)。

@GetMapping("/byResource")
    @SentinelResource(value = "byResource", blockHandler = "handleException")
    public CommonResult byResource() {
     
        return new CommonResult(200, "按资源名称限流测试ok", new Payment((long) 2020, "serial001"));
    }

    public CommonResult handleException(BlockException exception) {
     
        return new CommonResult(444, exception.getClass().getCanonicalName() + "\t 服务不可用");
    }

注:异常处理的兜底方法的返回值要严格与处理器的返回值相同,否则会报错,兜底方法的参数必须携带 BlockException exception 。

你可能感兴趣的:(springcloud alibaba——@sentinelResource注解的使用)