在Spring Cloud Alibaba(四)简单接入Sentinel(fallback用法) 中,简单的尝试了一下fallback的用法,下面看一下blockHandler的用法,先看说明:
blockHandler : blockHandler 对应处理 BlockException 的函数名称,可选项。blockHandler 函数访问范围需要是 public,返回类型需要与原方法相匹配,参数类型需要和原方法相匹配并且最后加一个额外的参数,类型为 BlockException。blockHandler 函数默认需要和原方法在同一个类中。若希望使用其他类的函数,则可以指定 blockHandlerClass 为对应的类的 Class 对象,注意对应的函数必需为 static 函数,否则无法解析。
下面直接看代码,在SentinelController新增加一个方法
@GetMapping("/sentinel-test3/{id}")
public String testBlockHandler (@PathVariable ("id") long id ) {
return sService.blockHandlerService (id