_带头大哥 2022-10-27 22:05 采纳率: 0%
浏览 51
已结题

Sentinel整合Dubbo统一异常处理不生效

Sentinel在整合Dubbo的时候,如何在Provider端进行全局统一处理BlockException流控异常

@Component
public class CustomerUrlBlockHandler implements BlockExceptionHandler {

    @Override
    public void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception {
        String msg = "";
        if (e instanceof FlowException) {
            msg = "限流了,请稍后再试";
        } else if (e instanceof DegradeException) {
            msg = "降级了,请稍后再试";
        } else if (e instanceof ParamFlowException) {
            msg = "热点参数限流,请稍后再试";
        } else if (e instanceof SystemBlockException) {
            msg = "系统规则(负载、、...)不满足规则";
        } else if (e instanceof AuthorityException) {
            msg = "授权规则不通过";
        }

        response.setContentType("application/json;charset=UTF-8");
        response.setStatus(500);
        response.getWriter().print(JSONObject.toJSONString(msg));
    }

}
该配置放在消费者端可以生效,但是在生产者端并不会生效,为啥呀?
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月4日
    • 创建了问题 10月27日

    悬赏问题

    • ¥15 wifi后台管理页面点了网络连接off,怎样再重启
    • ¥15 C++显示超限兔子集结
    • ¥15 sql server 2012的下载出错
    • ¥15 图像识别用户软件开发
    • ¥20 类原生rom lineageos
    • ¥15 有没有会做中专,云计算,卷子的,有偿一百块
    • ¥15 HC32串口DMA循环发送数据
    • ¥15 Uni-App实现飞书授权登陆
    • ¥50 Qt应用中如何通过代码打开开发者工具devtools
    • ¥20 mpp硬解码h264转为yuv