1、定義異常類
public class bizexception extends runtimeexception ;
public bizexception(int errorcode,string errormsg);
public bizexception(string errormsg);
public int geterrorcode()
public void seterrorcode(int errorcode)
public string geterrormsg()
public void seterrormsg(string errormsg)
}
2、在公共服務定義全域性異常處理類
@restcontroller
@controlleradvice
public class globalexcetionhandler
/*** 業務異常全域性處理
*/@exceptionhandler(value = bizexception.class)
@responsebody
public result illegalargument(bizexception e)
}
3、在其他服務使用--引入公共包
3.1、第一種掃瞄包路徑不同:
在resource目錄建立meta-inf/spring.factories檔案
加入以下配置
# 1\增加全域性異常注入
org.springframework.boot.autoconfigure.enableautoconfiguration=\
com.firework.common.exception.globalexcetionhandler
3.2、第二種掃瞄包路徑相同:
在啟動類加入註解@componentscan
@enableeurekaclient
@componentscan(basepackages = "com.firework")
public static void main(string args) }
配置了全域性異常處理,如何保證分布式事務正常執行
相關背景 微服務場景下,配置了統一全域性異常處理,導致seata在at模式下無法正常回滾問題 spring boot版本 2.2.2 cloud 版本 hoxton.release seata版本1.4 假設服務a呼叫服務b,服務b發生異常,由於全域性異常處理的存在 controlleradvice...
分布式應用異常測試
異常測試按性質分為應用層的業務邏輯異常測試 系統硬體 網路 檔案 資料庫 快取 中介軟體異常測試,其中包含了許多的場景 單機 分布式 但所有的場景均和這兩項有直接的關係。業務邏輯異常測試體現在當上述的第二種異常發生時,是否能根據業務的需要或者架構的設計做出合理的業務處理反應,這是建立在第二種異常測試...
session分布式處理
在支援session複製的web伺服器上,通過修改web伺服器的配置,可以實現將session同步到其他web伺服器上,達到每個web伺服器上都儲存一致的session。1.優點 上不需要做支援和修改。2.缺點 需要依賴支援的web伺服器,一旦更換成不支援的web伺服器就不能使用了,在資料量很大的情...