Sentinel-Resource注解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "";
    }
}

以上是关于Sentinel-Resource注解的主要内容,如果未能解决你的问题,请参考以下文章

注释的基本使用与文档注释的特殊功能

JAXB的@XmlElement注解

如何使用支持库 25.0.0 及更高版本获取片段()

基于XML和注解的Spring定时器

Springboot使用MatrixVariable 注解

Java Lambda