Sentinel
Sentinel copied to clipboard
Global @ControllerAdvice or exception handler for Spring Web | Spring的全局异常处理器,会导致熔断规则(异常数规则)失效
现在有一个问题就是我创建了一个统一的BlockException处理 (实现BlockExceptionHandler),我希望在我的项目中对限流,和熔断做统一的降级处理,但是问题就是该项目中有全局异常处理器,导致我配置的熔断规则(根据异常数来判断是否熔断)失效,猜测原因是 spring的全局异常处理器将服务抛出的异常捕获到并处理了,sentinel那边就捕捉不到异常,从而无法统计异常数。 我想问问这种情况有什么解决办法吗,因为全局异常处理器是项目之前有的也不好去除。
Spring Interceptor cannot record the exception if a global @ControllerAdvice
or exception handler has been set.
有大佬可以解答一下吗,谢谢啦
有大佬可以解答一下吗,谢谢啦
controller返回异常 会按照controller -> aspect -> controllerAdvice -> interceptor -> filter 因为异常统计用的是HandlerInterceptor实现进行拦截统计,全局用@ControllerAdvice已经将异常处理完毕,所以无法统计 @sczyh30 @kangarooking
#2516
#2516
没有用,新版没有那些了 sentinelWebInterceptor.exceptionControllerAdviceExit(req,e); 没有方法了
说是1.8.4解决这个问题,但我测试没成功,有人成功吗?
#2809 @sczyh30
要不要处理??别人提交了修复,,也不说明原因,,拒绝合并。。
要不要处理??别人提交了修复,,也不说明原因,,拒绝合并。。