当前位置:网站首页>SentinelResource注解詳解
SentinelResource注解詳解
2022-06-26 20:11:00 【菜鳥是大神】
SentinelResource注解 屬性總結。
> 本文基於Sentinel 1.6.2,理論支持1.4.0+
| 屬性 | 作用 | 是否必須 |
|---|---|---|
| value | 資源名稱 | 是 |
| entryType | entry類型,標記流量的方向,取值IN/OUT,默認是OUT | 否 |
| blockHandler | 處理BlockException的函數名稱。函數要求: 1. 必須是 public2.返回類型與原方法一致 3. 參數類型需要和原方法相匹配,並在最後加 BlockException 類型的參數。4. 默認需和原方法在同一個類中。若希望使用其他類的函數,可配置 blockHandlerClass ,並指定blockHandlerClass裏面的方法。 | 否 |
| blockHandlerClass | 存放blockHandler的類。對應的處理函數必須static修飾,否則無法解析,其他要求:同blockHandler。 | 否 |
| fallback | 用於在拋出异常的時候提供fallback處理邏輯。fallback函數可以針對所有類型的异常(除了 exceptionsToIgnore 裏面排除掉的异常類型)進行處理。函數要求:1. 返回類型與原方法一致 2. 參數類型需要和原方法相匹配,Sentinel 1.6開始,也可在方法最後加 Throwable 類型的參數。3.默認需和原方法在同一個類中。若希望使用其他類的函數,可配置 fallbackClass ,並指定fallbackClass裏面的方法。 | 否 |
| fallbackClass【1.6】 | 存放fallback的類。對應的處理函數必須static修飾,否則無法解析,其他要求:同fallback。 | 否 |
| defaultFallback【1.6】 | 用於通用的 fallback 邏輯。默認fallback函數可以針對所有類型的异常(除了 exceptionsToIgnore 裏面排除掉的异常類型)進行處理。若同時配置了 fallback 和 defaultFallback,以fallback為准。函數要求:1. 返回類型與原方法一致 2. 方法參數列錶為空,或者有一個 Throwable 類型的參數。3. 默認需要和原方法在同一個類中。若希望使用其他類的函數,可配置 fallbackClass ,並指定 fallbackClass 裏面的方法。 | 否 |
| exceptionsToIgnore【1.6】 | 指定排除掉哪些异常。排除的异常不會計入异常統計,也不會進入fallback邏輯,而是原樣拋出。 | 否 |
| exceptionsToTrace | 需要trace的异常 | Throwable |
> TIPS
>
> - 1.6.0 之前的版本 fallback 函數只針對降級异常(DegradeException)進行處理,不能針對業務异常進行處理。
> - 若 blockHandler 和 fallback 都進行了配置,則被限流降級而拋出 BlockException 時只會進入 blockHandler 處理邏輯。若未配置 blockHandler、fallback 和 defaultFallback,則被限流降級時會將 BlockException 直接拋出。
> - 從 1.4.0 版本開始,注解方式定義資源支持自動統計業務异常,無需手動調用 Tracer.trace(ex) 來記錄業務异常。Sentinel 1.4.0 以前的版本需要自行調用 Tracer.trace(ex) 來記錄業務异常。
边栏推荐
- Tiktok practice ~ homepage video ~ pull-down refresh
- Review of watermelon book (VII): Bayesian classifier (manual push + code demo)
- Project practice 5: build elk log collection system
- 30. 串联所有单词的子串
- Basic and necessary common plug-ins of vscade
- [MySQL series] collection of common working SQL (continuous update)
- C# 练习。类列表加记录,显示记录和清空记录
- 数据库SQL语句撰写
- Three basic backup methods of mongodb
- 股票开户的具体步骤是什么?网上开户安全吗?
猜你喜欢

Introduction to single chip microcomputer one-on-one learning strategy, independent development program immediately after reading

Super VRT

慕课11、微服务的用户认证与授权

Xlua get button registration click event of ugui

阿里云个人镜像仓库日常基本使用

Arduino uno + DS1302 uses 31 byte static RAM to store data and print through serial port

Detailed explanation of shutter textfield

Detailed explanation of retrospective thinking

MySQL recharge

Development of NFT for digital collection platform
随机推荐
find_ path、find_ Library memo
Guomingyu: Apple's AR / MR head mounted display is the most complicated product in its history and will be released in January 2023
问题解决:虚拟机无法复制粘贴文件
JSONUtils工具类(基于alibaba fastjson)
开发者调查:Rust/PostgreSQL 最受喜爱,PHP 薪水偏低
Solve com mysql. jdbc. exceptions. jdbc4.MySQLNonTransientConnectionException: Could not create connection
Detailed explanation of shutter textfield
BOM and DOM operations
Flutter TextField详解
MySQL - database creation and management
Bonne Recommandation: développer des outils de sécurité pour les terminaux mobiles
Convex hull problem
Tiktok practice ~ search page ~ video details
MySQL stored procedure
品达通用权限系统(Day 1~Day 2)
抖音实战~首页视频~下拉刷新
Selection of database paradigm and main code
Development of NFT for digital collection platform
Basic and necessary common plug-ins of vscade
515. 在每个树行中找最大值