Sentinel注解@SentinelResource
2021-09-09 本文已影响0人
CodeYang
@SentinelResource注解支持

自定义全局限流处理类
- 新建全局处理类 CustomerBlockHandler
/**
* 定义可以全局使用
*/
public class CustomerBlockHandler {
public static String handlerException(BlockException e){
return "4444 , 按用户自定义,Global,handlerException ";
}
public static String handlerException2(BlockException e){
return "445 , 按用户自定义,Global,handlerException2";
}
}
- 编写 RateLimitController 控制类,主要是 customerBlockHandler()方法,其他方法参考
/**
* @SentinelResource 注解使用
*/
@RestController
public class RateLimitController {
/**
* 配置全局 处理类
* @return
*/
@GetMapping(value = "/rateLimit/customerBlockHandler")
@SentinelResource(value = "customerBlockHandler",
blockHandlerClass = CustomerBlockHandler.class,
blockHandler = "handlerException2")
public String customerBlockHandler(){
return "200 , 按用户自定义成功访问";
}
}
- 新建流控规则,选择按资源名称限流,如果按URL限流就会走默认的错误提示


- 测试访问,如果限流就进入配置的 CustomerBlockHandler类的handlerException2方法
