at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.alibaba.csp.sentinel.slots.block.flow.FlowException: null


SpringBoot 整合 Sentinel,报 FlowException: null,

原因是: blockHandler 对应的方法,参或者参不匹配,必需跟 @SentinelResource 注解的方法 参一致   


如下案例:

    @GetMapping("queryById")
    @SentinelResource(value = "TestQueryById", blockHandler = "failBlockHandler")
    public AjaxJson<Order> queryById(@ApiIgnore Order eo) {
        service.addClickCount(eo);
        return AjaxJson.success(eo);
    }

    public AjaxJson<Order>failBlockHandler(@ApiIgnore Order eo, BlockException be) {
        return AjaxJson.error("您访问的太频繁了,请稍后再试!");
    }


Sentinel 官方文档 :https://sentinelguard.io/zh-cn/docs/introduction.html