有時候會搞亂的blockHandler與fallback,Java框架面試題整理

程序員小秘境 2021-09-18 05:43:11 阅读数:592

blockhandler fallback java 框架 整理

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_程序員

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_後端_02

在testFallback增加一個Throwable 類型的參數,可以通過這個參數來實現捕獲不同的异常,從而做對應的异常處理。

外置類

fallback 函數比特置是有要求的,必須和原方法在同一個類中,但在實際需求中,我們需要放在其他類中。@SentinelResource提供了通過fallbackClass指定對應的類的Class對象,添加一個static函數,否則無法解析。

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_程序員_03

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_程序員_04

創建一個FallBackService類,並定義一個static 函數;請求同一個url,效果是一樣的;此好處就是業務代碼類比較簡潔了。

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_程序員_05

fallback中還有一個defaultFallback

defaultFallback(since 1.6.0):默認的 fallback 函數名稱,可選項,通常用於通用的 fallback 邏輯(即可以用於很多服務或方法)。默認 fallback 函數可以針對所有類型的异常(除了 exceptionsToIgnore 裏面排除掉的异常類型)進行處理。

同時配置了fallback和defaultFallback,則只有 fallback 會生效。?defaultFallback 函數簽名要求:返回值類型必須與原函數返回值類型一致;?方法參數列錶需要為空,或者可以額外多一個 Throwable 類型的參數用於接收對應的异常。defaultFallback函數默認需要和原方法在同一個類中。若希望使用其他類的函數,則可以指定 fallbackClass 為對應的類的 Class 對象,注意對應的函數必須為 static 函數,否則無法解析。

blockHandler

超出流量限制的部分是否會進入到blockHandler的方法,要注意是超出流量限制的請求調用,會進入blockHandler方法。

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_程序員_06

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_Java_07

blockHandler是針對流量超出的請求,即針對的是BlockException异常;上面的請求都包含了fallback和blockHandler,那效果應該是什麼呢?在Sentinel控制臺配置一下流控規則。

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_後端_08

最後

 CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_程序員_09

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_後端_10

有時候會搞亂的blockHandler與fallback,Java框架面試題整理_Java_11

版权声明:本文为[程序員小秘境]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210918054310597B.html