大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 淺談Dubbo異常處理

淺談Dubbo異常處理

更新時間:2022-03-18 11:58:48 來源:動力節點 瀏覽2266次

我們的項目使用了dubbo進行不同系統之間的調用。

每個項目都有一個全局的異常處理,對于業務異常,我們會拋出自定義的業務異常(繼承RuntimeException)。

全局的異常處理會根據不同的異常類型進行不同的處理。

最近我們發現,某個系統調用dubbo請求,provider端(服務提供方)拋出了自定義的業務異常,但consumer端(服務消費方)拿到的并不是自定義的業務異常。

這是為什么呢?還需要從dubbo的ExceptionFilter說起

我們來看看dubbo官方文檔的推薦處理方式是什么

淺談Dubbo異常處理

dubbo在代碼中的處理方式是什么?

從上面我們可以看出,dubbo的處理方式主要是:

1. 如果provider實現了GenericService接口,直接拋出

2.如果是checked異常,直接拋出

3.在方法簽名上有聲明,直接拋出

4.異常類和接口類在同一jar包里,直接拋出

5.是JDK自帶的異常,直接拋出

6.是Dubbo本身的異常,直接拋出

7.否則,包裝成RuntimeException拋給客戶端

接下來我們來測試一下

我們自定義一個SelfException

在服務端中拋出一個自定義的異常

啟動服務對并對服務端進行訪問,我們可以發現

服務端的日志

客戶端的日志

可以看出, 我們這里并沒有拋出自定義的異常, 從而會導致客戶端沒有捕捉到自定義的異常.

如何正確捕獲業務異常

拋出一個自定義異常有這么麻煩嗎? 主要原因是dubbo沒有支持的原因.

既然這樣,我們把dubbo變的支持不就可以了?

是的.把源碼改一下就OK了.如下:

或者直接將117行的RuntimeException替換成自己的自定義異常!這樣就從根本上解決了異常處理的問題.后續有其他問題,也可以直接修改。

通過上述相信大家對Dubbo的異常處理已經有所了解,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面的課程內容從入門到精通,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 97午夜视频| 四虎影视4hutv最新地址在线 | 久久天天躁狠狠躁夜夜2020一 | 天天操天天操天天操 | 国产高清视频在线免费观看 | 正在播放亚洲 | 欧美另类亚洲一区二区 | 久久久国产这里有的是精品 | 免费a级毛片大学生免费观看 | 日韩欧美精品有码在线观看 | 国产片一区二区三区 | 九九精品视频在线观看九九 | 伊人精品视频在线观看 | 久久国产热视频 | 亚洲欧美一区二区三区麻豆 | 四虎影视国产精品婷婷 | 成人欧美精品久久久久影院 | 亚洲欧洲日韩国产aa色大片 | 国产精品视频一区国模私拍 | 国产成人精品在视频 | 久久色亚洲 | 免费播放欧美毛片欧美a | 久久国产成人 | 成人免费大片a毛片 | 久色99| 亚洲欧美国产精品专区久久 | 激情五月婷婷综合网 | 免费视频精品一区二区 | 国内精品伊人久久久影院 | 国产亚洲精品久久精品6 | 成人精品免费视频 | 成年女人免费视频 | 免费毛片a线观看 | 桃色视频网 | 亚洲十欧美十日韩十国产 | 日韩在线视频www色 日韩在线视频不卡 | 香蕉黄视频 | 中文字幕亚洲无线码在线一区 | 中文字幕亚洲图片 | 亚洲四虎影院 | 欧美色图偷窥自拍 |