当前位置: 首页 > news >正文

sentinel异常处理机制

1、自动识别出来的web接口

会走BlockExceptionHandler,可自定义,例如:

@Component
public class SentinelBlockExceptionHandler implements BlockExceptionHandler {@Overridepublic void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String s,BlockException e) throws Exception {tooFrequencyResponse(httpServletResponse);}public void tooFrequencyResponse(HttpServletResponse response) throws IOException {response.setContentType("application/json;charset=UTF-8");response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); // 429状态码CommonResult<?> result = CommonResult.failResult(8001, "服务器繁忙,请稍后重试");String jsonString = JSONUtil.toJsonStr(result);response.getWriter().write(jsonString);}
}

在项目中加入此类即可生效

2、@SentinelResource标记的资源

会依次去找@SentinelResource注解里面配置的blockHandler,fallback,defaultFallback,根据先后顺序找到即对应处理,如果都未配置,则返回Springboot的默认处理

统一处理:

@ExceptionHandler({UndeclaredThrowableException.class})
public CommonResult<?> flowExceptionHandler(UndeclaredThrowableException e) {log.error("UndeclaredThrowableException: ", e);return CommonResult.failResult(CommonErrorInfo.code_8001,"服务器繁忙,请稍后重试");
}

3、openfeign调用的资源

会根据设置的fallback来返回异常,如果未设置则返回Springboot的默认处理

http://www.dtcms.com/a/360965.html

相关文章:

  • 2025机器人产业大洗牌:新兴初创企业的技术革命与崛起之路
  • 【Spring Cloud微服务】8.深度实战:微服务稳定性的守护神——Sentinel
  • Linux下usb设备驱动框架实现:定义核心结构体数据
  • 从Java全栈开发到微服务架构:一次真实的面试实录
  • leetcode算法刷题的第二十三天
  • GitLab 18.3 正式发布,更新多项 DevOps、CI/CD 功能【一】
  • Linux上perf工具的使用-基础采样
  • 云端虚拟云手机该如何进行使用?
  • 高并发场景下的热点数据处理:从预热到多级缓存的性能优化实践
  • 云手机和云游戏之间有着哪些区别?
  • 手机版碰一碰发视频源码搭建,技术实现与实操指南
  • 基于大数据的京东手机销售数据 可视化分析设计与开发03446原创的定制程序,java、PHP、python、C#小程序、文案全套、毕设程序定制、成品等
  • 【音视频】WebRTC QoS 概述
  • 云端虚拟手机:云手机的原理是什么?
  • 【科普向-第七篇】Git全家桶介绍:Git/Gitlab/GitHub/TortoiseGit/Sourcetree
  • 电动两轮车手机导航投屏方案调研报告
  • vscode翻译插件
  • hasOwnProperty是什么
  • Linux部署OSM本地服务测试环境
  • Linux UDisks守护进程曝本地提权漏洞CVE-2025-8067,PoC已发布
  • [Android] 京墨 v1.15.2 —— 古诗词文、汉语字典、黄历等查询阅读学习宝典(可离线)
  • 别再说AppInventor2只能开发安卓了!苹果iOS现已支持!
  • AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划·视觉定位·力控策略
  • HarmonyOS 应用开发深度实践:深入 Stage 模型与 ArkTS 声明式 UI
  • STM32-FreeRTOS操作系统-任务创建
  • 开源AI大模型AI智能名片S2B2C商城小程序赋能下的“信息找人“:人工智能驱动的线下零售精准化革命
  • 高效大规模创新3D重建模型iLRM
  • 【STM32】贪吃蛇 [阶段 3] 增强模块结构(架构优化)
  • HarmonyOS应用开发深度解析:基于Stage模型与ArkTS的现代实践
  • ServBay 是一款集成式、图形化的本地 Web 开发环境工具,专为 macOS 和 Windows 系统设计