Solon 開發高階,五 全域性異常訂閱

2022-09-18 07:33:24 字數 548 閱讀 8334

所謂「全域性異常」,是指通過事件匯流排發布的異常。目前框架會把未吃掉的異常發布到事件匯流排。比如:啟動時產生的異常,或者計畫任務未處理的異常,或請求中未處理的異常。

事件匯流排缺省會用 "err.printstacktrace()" 自動列印。如果希望禁掉自動列印:

});或者對異常進行訂閱,訂閱後也會禁掉自動列印。

//獲取系統未處理的異常

//或者記錄到日誌系統,或者別的處理

e.printstacktrace();

});

});

或者用「solonbuilder」,在啟動前就進行訂閱:

new solonbuilder().onerror(e -> 

}

上面提到「全域性異常」,也會包括請求產生的未處理異常。反之,被過濾器吃掉的異常,這裡就不會出現了(可參考 《過濾器、處理、***》 )。

建議請求類的異常交由過濾器處理。

Solon 開發高階,四 啟動引數說明

啟動引數,在應用啟動後會被靜態化 為了內部更高效的利用 比如,想通過體外擴充套件載入配置,是不能改掉它們的。啟動引數 對應的應用配置 描述 env solon.env 環境 debug solon.debug 除錯模式 setup solon.setup 安裝模式 white solon.white...

Solon 開發高階,一 外掛程式擴充套件機制

像 tran cache 之類的註解開發成果,都會希望能在所有專案中復用。solon plugin 是一種解耦的外掛程式擴充套件機制,簡單 彈性 自由。類似 spring factories j a spi。solon plugin 機制的核心作用是 獲得了應用啟動入口,從而可以做一些事情。x開頭可...

Python 全棧開發 python函式高階

函式的巢狀定義 def func1 print from func1 def func2 func2 記憶體位址 print from func2 print func2 func1 函式的巢狀呼叫 比較兩個數的大小 defmax2 x,y if x y return x else returny ...