Web應用架構 錯誤統一處理, 和事務統一處理

2021-08-25 07:18:03 字數 595 閱讀 9847

因為前期,重點放在業務分析上,這兩塊一直認真思考過,覺得很簡單.

一開始只是找了乙個nhibernate的示例, 就決定把session的open和close和事務(transaction)的commit, 放在httpmodule中處理. 算是session per request的模式.

之後,繼續加入錯誤處理的plugin, 做了乙個httphandler的decorater, 在所有其他httphandler的最外層. (我使用的是自己實現的frontcontroller來處理頁面). 這樣一來, 任何頁面處理中,沒有被截獲的錯誤都回被最後一道防線網住.

可是, 等等, transaction提交如果出錯呢? httpmodule是在整個httphandler的外層, httphandler根本沒有辦法處理httpmodule的錯誤.

重新考慮結構, 其實transaction 的業務含義也不符合, httpmodule的管道概念, 它更加是頁面處理的一部分.

調整之後, 整個httphandler構成為: urlhandler --> errorhandler --> transactionhandler --> mypagehandler.

自己也感覺清楚多了.

Web應用架構 錯誤統一處理, 和事務統一處理

因為前期,重點放在業務分析上,這兩塊一直認真思考過,覺得很簡單.一開始只是找了乙個nhibernate的示例,就決定把session的open和close和事務 transaction 的commit,放在httpmodule中處理.算是session per request的模式.之後,繼續加入錯...

統一處理異常

1.controlleradvice 註解定義全域性異常處理類 controlleradvice public class globalexceptionhandler 2.exceptionhandler 註解宣告異常處理方法,註解的方法的引數列表裡,還可以宣告很多種型別的引數 controlle...

異常統一處理高階

在spring boot cloud 二 規範響應格式以及統一異常處理這篇部落格中已經提到了使用 exceptionhandler來處理各種型別的異常,這種方式也是網際網路上廣泛的方式 今天這篇部落格,將介紹一種spring boot官方文件上的統一處理異常的方式.大家可以在spring boot ...