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

网站服务器租用价格怎么算直播软件有哪些

网站服务器租用价格怎么算,直播软件有哪些,网站地图代码,wordpress模板获取不到分类异常处理 默认情况下,Sentinel 会抛出 BlockException 异常,如果希望自定义异常,则可以使用 SentinelResource 注解的 blockHandler 属性。 1、自定义异常处理 BlockExceptionHandler 自定义异常处理类实现 BlockExceptionHandler 接口&#…

异常处理

默认情况下,Sentinel 会抛出 BlockException 异常,如果希望自定义异常,则可以使用 @SentinelResource 注解的 blockHandler 属性。

1、自定义异常处理 BlockExceptionHandler

自定义异常处理类实现 BlockExceptionHandler 接口,并重写 handleException 方法,然后将其注册到 Spring 容器中。

基本概念:当 Sentinel 的规则(如流控规则、降级规则等)被触发时,会抛出 BlockException 异常。通过实现 BlockExceptionHandler 接口,可以自定义这些异常的处理逻辑

代码例子 🚀

@Component
public class CustomBlockExceptionHandler implements BlockExceptionHandler {@Overridepublic void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception {// 根据不同的规则类型返回不同的提示信息String msg = "请求被限流";int status = 429;if (e instanceof FlowException) {msg = "接口被限流了";status = 429;} else if (e instanceof DegradeException) {msg = "接口被降级了";status = 429;} else if (e instanceof ParamFlowException) {msg = "热点参数限流";status = 429;} else if (e instanceof AuthorityException) {msg = "授权规则不通过";status = 401;} else if (e instanceof SystemBlockException) {msg = "系统规则(负载/...)不满足要求";status = 429;}// 返回JSON格式的错误信息response.setContentType("application/json;charset=utf-8");response.setStatus(status);Map<String, Object> result = new HashMap<>();result.put("code", status);result.put("message", msg);result.put("timestamp", System.currentTimeMillis());response.getWriter().write(new ObjectMapper().writeValueAsString(result));}
}

2、自定义异常处理 blockHandler 

使用 @SentinelResource 注解的 blockHandler 属性,指定自定义的异常处理方法。🎁

基本概念:Sentinel 支持通过 @SentinelResource 注解定义资源并配置 blockHandler 和 fallback 函数来进行限流之后的处理。【兜底处理😎】

注意⚡⚡⚡:blockHandler 函数的参数列表需要和原方法一致,或者可以额外多一个 BlockException 参数用于接收异常。

代码例子 🚀

// 原本的业务方法.
@SentinelResource(blockHandler = "blockHandlerForGetUser")
public User getUserById(String id) {throw new RuntimeException("getUserById command failed");
}// blockHandler 函数,原方法调用被限流/降级/系统保护的时候调用
public User blockHandlerForGetUser(String id, BlockException ex) {return new User("admin");
}

3、特别注意🔕

BlockExceptionHandler 和 blockHandler 的关系:

注意🚓: 如果方法上使用了 @SentinelResource 并指定了 blockHandler,会优先使用该处理方法,而不会走到 BlockExceptionHandler。

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

相关文章:

  • 上海网站建设服务公司时尚工作室网站源码
  • 免费二维码在线制作网站编辑 seo是什么 百度知道
  • 个人建设网站难吗好做的网站
  • 想兼职做网站推广网站设网站设计
  • 淄博网站建设高端网络威海吧
  • 公司设计网站需要多少钱住房和城乡建设部令第51号
  • 庐江住房建设局网站年度关键词
  • 彭阳网站建设多少钱重庆门户网站开发报价
  • 铜川公司做网站四川省建设厅网站在线申报
  • 网站的留言功能青岛做门户网站的有哪些
  • icp备案查询站长之家买布做衣裳 在哪个网站买好
  • 建设网站哪专业品牌推广论文
  • 重庆最有效的网站推广网站建设的流程是什么意思
  • 网站开发费怎么入账audio player wordpress
  • 苏州淘宝网站建设青岛网站建设公司效果
  • 容桂网站制作代理wordpress 登录评论
  • 海门网站建设培训二手商品网站开发背景
  • 广东省网站建设网站分类信息网站
  • 哈尔滨免费建站模板怎么自学互联网技术
  • 模仿网站建设站建设做二手物资哪个网站好
  • 网站开发所需经费网络服务器无响应可能原因
  • 建设网站需要哪些域名网站建设加盟创业
  • 网站开发产品设计公司深圳西乡
  • 湖北建设厅政务网站72建站网如何建设一个药材网站
  • 重庆建站网站免费wordpress 曲线表
  • 做网站可以用思源字体吗vs网站模态框怎么做
  • 招聘网站开发源码wordpress cms
  • 网站建设管理经验做法阿里云是不是做网站的
  • 广州兼职网网站建设社区推广
  • ktv网站建设方案网站建设数据库的选择