运维开发网

Sentinel-Resource注解(三)

运维开发网 https://www.qedev.com 2020-03-27 10:40 出处:51CTO 作者:lxhllf2005
Sentinel-Resource注解的使用例子

Sentinel-Resource注解包括2部分:

1.注解的使用
2.注解处理类定义

1.注解的使用

@RequestMapping("/test-sentinel-api-3")
@SentinelResource(
        value = "test-sentinel-api-3",
        blockHandler = "blockHandlerFunc",
        fallback = "fallbackFunc",
        blockHandlerClass = MyBlockHandlerClass.class
)
public String testSentinelApi3(@RequestParam String a){
    if (StringUtils.isEmpty(a)){
        throw new IllegalArgumentException("参数a不能为空");
    }
    return "a: "+a;
}

2.注解处理类定义(方法必须得是 static)

@Slf4j
public class MyBlockHandlerClass {
    // 处理限流
    public static String blockHandlerFunc(String a, BlockException e){
        log.warn("限流了",e);
        return "";
    }
    // 处理降级
    public static String fallbackFunc(String a){
        log.warn("降级了");
        return "";
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消