センチネル・リソースの注釈(C)

センチネル・リソースアノテーションは二つの部分から構成されています。

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.注釈クラス定義プロセス(メソッドは静的でなければなりません)

@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 "";
    }
}

おすすめ

転載: blog.51cto.com/3168834/2451946