分布式全域性異常處理

2021-10-09 07:53:20 字數 1116 閱讀 1629

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伺服器就不能使用了,在資料量很大的情...