首页 > 其他分享 >springcloud -sentinel 用户自定义限流错误处理(仅限限流异常,其他异常请使用fallback属性)

springcloud -sentinel 用户自定义限流错误处理(仅限限流异常,其他异常请使用fallback属性)

时间:2023-07-10 20:13:58浏览次数:43  
标签:自定义 class alibaba 限流 sentinel 错误处理 public cloud

pom依赖

<!--SpringCloud ailibaba nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--SpringCloud ailibaba sentinel-datasource-nacos 后续做持久化用到-->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>
        <!--SpringCloud ailibaba sentinel -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

yml配置

server:
  port: 8401

spring:
  application:
    name: cloudalibaba-sentinel-service
  cloud:
    nacos:
      discovery:
        #Nacos服务注册中心地址
        server-addr: localhost:8848
    sentinel:
      transport:
        #配置Sentinel dashboard地址
        dashboard: localhost:8080
        #默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口
        port: 8719

#暴露端点
management:
  endpoints:
    web:
      exposure:
        include: '*'

MainApp8401

@EnableDiscoveryClient
@SpringBootApplication
public class MainApp8401
{
    public static void main(String[] args) {
        SpringApplication.run(MainApp8401.class, args);
    }
}

myhandlerclass

public class BlockExceptionHandler {
    public static String exceptionHandler(BlockException blockException){
        return "{className: BlockExceptionHandler, methodName: selfDefineExceptionHandler,exception: "+blockException.getMessage()+"} ";
    }
}

测试controller内附关键注解

@RestController
public class DeSelfController {
    @GetMapping(value = "/selfcon")
    @SentinelResource(value = "selfcon",
            blockHandlerClass = BlockExceptionHandler.class,
            blockHandler = "exceptionHandler"
    )
    public String selfDefineExceptionHandler(){
        return "{className: DeSelfController, methodName: selfDefineExceptionHandler}";
    }
}

添加限流规则

标签:自定义,class,alibaba,限流,sentinel,错误处理,public,cloud
From: https://www.cnblogs.com/huoziqi/p/17542190.html

相关文章

  • pytest + yaml 框架 -49.allure报告自定义内容
    前言v1.4.0版本支持allure报告自定义内容用例添加allure描述用例中可以通过dynamic添加以下内容allure.dynamic.featureallure.dynamic.linkallure.dynamic.issueallure.dynamic.testcaseallure.dynamic.storyallure.dynamic.titleallure.dynamic.description在t......
  • 第3章 自定义控件2
    3强大的附加属性所以你正在构建一个令人惊喜的新应用程序,你需要一种在现有控件中没有直接支持的行为。你确信除了创建子类并为自己创建一堆工作外,没有其他方法来扩展现有的控件功能。是时候创建子类了,对吗?WPF提供了一项创新功能,称为附加属性,它可以用于向现有控件添加行为。这些......
  • Selenium基础:SSL证书错误处理 13
    1、chrome解决办法在chromeoptions()中添加”--ignore-certificate-errors"为true的选项#-*-coding:utf-8-*-fromseleniumimportwebdriveroptions=webdriver.ChromeOptions()#添加忽视证书错误选项options.add_argument('--ignore-certificate-errors')driver=web......
  • Camstar表格自定义写js,实现单元格合并。
     效果: ......
  • app直播源代码,自定义顶部搜索栏显示隐藏
    app直播源代码,自定义顶部搜索栏显示隐藏1、wxml代码 <viewclass="bar-box"style="height:{{navBarHeight}}px;">  <viewwx:if="{{show}}"class="level"style="margin-top:{{barHeight}}px;">    <viewclass=&......
  • Go优雅的错误处理: 支持错误堆栈, 错误码, 错误链的工具库
    地址:https://github.com/morrisxyang/errors如果觉得有用欢迎Star和PR,有问题请直接提issueerrors简单的支持错误堆栈,错误码,错误链的工具库:支持携带堆栈,嵌套构造错误链支持携带错误码,方便接口返回支持自定义堆栈打印深度和错误链打印格式使用......
  • elementui el-draw自定义拖拽指令
    一、问题引入场景:el-draw抽屉高度(宽度)可拖拽二、解决方案使用vue指令,el-draw打开后,插入一个元素,绑定鼠标事件实现拖拽主要代码如下/***el-drawer拖拽高度指令*/Vue.directive('el-drawer-drag-height',{bind(el,binding,vnode,oldVnode){......
  • 按单元格填充颜色或字体颜色统计数据的自定义函数
    参考网络代码,自己写了二个通用的自定义函数,用于统计不同颜色的单元格数值或个数。1FunctionSumColor(rngAsRange,cellColorAsRange,NAsByte)AsDouble23'输入=SumColor(A1:A10,A1,0),其中A1:A10是统计的范围,A1是统计的颜色所在的单元格,0表示按照背景......
  • python创建类似于wx.EVT_BUTTON这样的自定义事件
    想要创建类似于wx.EVT_BUTTON这样的自定义事件,可以通过定义一个继承自wx.PyEvent的子类,并在其中添加自定义的事件类型。下面是一个示例代码:importwx#创建自定义事件类型MY_EVENT_TYPE=wx.NewEventType()EVT_MY_EVENT=wx.PyEventBinder(MY_EVENT_TYPE,1)#创建自定义......
  • Element Plus el-table 自定义合并行和列
    原文链接:ElementPlusel-table自定义合并行和列前言目标效果是将表格行数据中某个属性值相同的项合并到一起,效果如下:<el-table:data="tableData":span-method="spanMethod"style="width:100%"><el-table-columnprop="StoAlias"label="节点名称&quo......