系統解耦問題 不同系統間dubbo呼叫的異常處理

2021-12-29 22:49:21 字數 451 閱讀 7314

問題描述,系統a和系統b使用了dubbo進行不同系統之間的呼叫,而b是從a解耦出的系統,所以b的自定義異常和a需要對接,我們一開始只是簡單的遷移了異常類過來,實際使用的時候由於包名不同導致a丟擲的異常和b簽名不一致,這時dubbo會直接丟擲異常。

解決思路:既然是dubbo傳遞的時候出現的問題,最佳方案還是在dubbo的異常處理機制上改動。如果捕獲到異常來著a包目錄,這轉換成b包對應的異常類。

從dubbo的exceptionfilter下手

public class exceptionfilter implements filter catch (throwable e)

}return result;

} catch (runtimeexception e)

}}核心部分

if(exception instanceof b.exception.abexception)

不同系統間傳輸float型資料

include include int main void r1,r2 特別需要注意的是在微控制器中int float double 型別的字長和pc機中是不一樣的,需要注意 r1.d 7.215487 23131 r2.data 0 r1.data 0 r2.data 1 r1.data 1 r2...

不同系統間的資料庫遷移

假設我們有乙個ibm db2資料庫,這個資料庫裡有很多表 可能上百張甚至更多 又有很多索引 外來鍵約束 觸發器。最要命的是還有一些含有自增字段的表 含有generated always as identity定義的字段的表 我們也沒有關於這些資料庫物件的準確建立指令碼 筆者經常碰到客戶有這種情況 現...

gradle在不同系統下適配

有時我們需要自己定製一些gradle的執行task,可能會用到一些系統中的其它環境,這時需要我們針對不同的os做一些適配。方法一 獲取os的name判斷其中是否包含windows欄位 def iswindows 方法二 通過operatingsystem類中的方法來判斷當前環境 def iswind...