基於spring aop的dubbo異常統一處理
dubbo統一異常處理,呼叫方只顯示封裝後的異常。
1、返回封裝後的Exception
2、返回封裝後的統一返回資訊
import org.aspectj.lang.annotation.AfterThrowing; import org.aspectj.lang.annotation.Aspect; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import com.midea.jr.commons.utils.BeanUtils; import com.midea.jr.efc.edp.common.bean.Response; import com.midea.jr.efc.edp.common.enums.ResponseCodeEnum; import com.midea.jr.efc.edp.common.exception.BizException; /** * <p>Project: <p> * <p>Module: <p> * <p>Description: <p> * * @author wangzy25 * @date 2017年6月12日 上午10:07:58 */ @Component @Aspect public class DubboExceptionInterceptor { private static final Logger LOGGER = LoggerFactory.getLogger(DubboExceptionInterceptor.class); @AfterThrowing(throwing="ex",pointcut="execution(* com.midea.jr.efc.edp.api.service.**.*(..))") public BizException handle(Exception ex){ LOGGER.error("Intercept dubbo exception:{}", ex.getMessage(), ex); if(ex instanceof BizException){ throw (BizException)ex; } //如果是非包裝異常,則包裝成統一的內部異常 throw new BizException(ResponseCodeEnum.EXCEPTION_INTERAL); } @AfterThrowing(throwing="ex",pointcut="execution(* com.midea.jr.efc.edp.api.service.**.*(..))") public Response<?> handle(Exception ex){ Response<?> response = new Response<>(); LOGGER.error("intercept ServiceException:{}", ex.getMessage(), ex); if(ex instanceof BizException){ BeanUtils.copyProperties( ex, response ); return response; } //如果是非包裝異常,則包裝成統一的內部異常 return new Response<>(ResponseCodeEnum.EXCEPTION_INTERAL); } }
相關推薦
Spring MVC異常統一處理的三種方式
Spring 統一異常處理有 3 種方式,分別為: 使用 @ ExceptionHandler 註解 實現 HandlerExceptionResolver 介面 使用 @controlleradvice 註解 HandlerExceptionReso
spring mvc異常統一處理(實現HandlerExceptionResolver介面)不生效的問題解決
spring mvc異常統一處理常見的有3種方式: 使用 @ ExceptionHandler 註解 實現 HandlerExceptionResolver 介面 使用 @controlleradvice 註解 詳細的使用方法可參考博文:https://blog.c
spring mvc異常統一處理(使用ControllerAdvice註解)
1、配置 spring 版本: [html] view plain copy print? <org.springframework-version>4.1.9.RELEASE</org.springframework-version>
Spring MVC異常統一處理(包括普通請求異常以及ajax請求異常)
通常SpringMVC對異常的配置都是返回某個jsp檢視給使用者,但是通過ajax方式發起請求,即使發生異常,前臺也無法獲得任何異常提示資訊。因此需要對異常進行統一的處理,對於普通請求以及ajax請求的異常都有效。 1.Spring MVC的異常處理機制 Spring
Spring MVC異常統一處理(異常資訊的國際化,日誌記錄)
JAVA EE專案中,不管是對底層的資料操作,還是業務層的處理過程,還是控制層的處理,都不可避免的會遇到各種可預知的(業務異常主動丟擲)、不可預知的異常需要處理。一般dao層、service層的異常都會直接丟擲,最後由controller統一進行處理,每個過程
Spring MVC異常統一處理
/** * 自定義返回結果封裝類 */public class ResultUtil implements Serializable {private static final long serialVersionUID = 1L;private Integer code;private String msg
基於spring aop的dubbo異常統一處理
dubbo統一異常處理,呼叫方只顯示封裝後的異常。 1、返回封裝後的Exception 2、返回封裝後的統一返回資訊 import org.aspectj.lang.annotation.AfterT
基於Spring Boot的統一異常處理設計
基於Spring Boot的統一異常處理設計 作者: Grey 原文地址:https://www.cnblogs.com/greyzeng/p/11733327.html Spring Boot中,支援RestControllerAdvice統一處理異常,在一個請求響應週期當中,如果Controller,Se
spring boot 系統異常統一處理
1.系統異常捕獲 @ControllerAdvice(annotations = {RestController.class}) public class GlobalExceptionHandler { private Logger logger = LoggerFactory.get
spring Aop實現身份驗證和springboot異常統一處理
文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號:好好學java,獲取優質學習資源。 一、spring Aop身份驗證 一般,如果使用者沒有登入的話,使用者只可以檢視商品,但是其他的,比如支付等是不能夠進行操作的,這個時候,我們
java異常統一處理
出現 actor 錯誤 統一處理 type .get 。。 cfa getc 一般系統拋出的錯誤不含錯誤代碼,出去部分的404,500,400之外,我們如果想吧錯誤代碼定義的更細致,就需要自己繼承RuntimeExeption這個類後,重新定義構造方法定義自己的錯誤信息。
SpringBoot異常統一處理機制
springboot官網說了三種異常處理,分為機器客戶端和瀏覽器客戶端,區別為機器客戶端請求返回的是頭中Accept是"/"或者空,異常返回值json,瀏覽器客戶端請求頭中Accept是"text/html" 返回的是html 如下圖: 機器客戶端: 瀏覽器客戶端: 下面
Springboot-系統異常統一處理(介面程式設計異常處理)
Springboot-系統異常統一處理(介面程式設計異常) 1. 系統異常捕獲 /** * 全域性異常處理 * @Author: wangxc * @GitHub: https://github.com/vector4wang * @CS
異常統一處理的一些思路
1.AppException 統一處理所有異常 //將出現的所有異常都用AppException public class AppException extends Exception {
Springboot專案全域性異常統一處理
最近在做專案時需要對異常進行全域性統一處理,主要是一些分類入庫以及記錄日誌等,因為專案是基於Springboot的,所以去網路上找了一些部落格文件,然後再結合專案本身的一些特殊需求做了些許改造,現在記錄下來便於以後檢視。在網路上找到關於Springboot全域性異常統一處理的
java/spring scheduler 異常捕獲處理
由於java的異常會導致執行緒被打斷,因此任務的異常是被任務工作執行緒捕獲的。 若需要對任務執行情異常捕獲可以這樣操作: ScheduledExecutorService scheduler = Executors.newSingleThreadSche
SpringMVC全域性異常統一處理
(1)使用Spring MVC提供的簡單異常處理器SimpleMappingExceptionResolver:<!-- springmvc提供的簡單異常處理器 --> <be
@ControllerAdvice自定義異常統一處理
正常來說一個系統肯定有很多業務異常。而這些業務異常的資訊如何返回給前臺呈現給使用者。比如使用者的某些操作不被允許,需要給使用者提示。 Spring 提供了@ControllerAdvice這個註解,這個註解可以實現全域性異常處理,全域性資料繫結,全域性資料預處理,這裡主要說下使用這個註解實現全域性異常處理。
Spring Boot學習——統一異常處理
return 方法 ssa static framework 處理異常 tor ebo except 本隨筆記錄使用Spring Boot統一處理異常。 本文實例是從數據庫中根據ID查詢學生信息,要求學生的年齡在14——20歲之間。小於14歲,提
spring 或 springboot統一異常處理
pbo catch ada pass ann href TP let copy spring 或 springboot統一異常處理https://blog.csdn.net/xzmeasy/article/details/76150370 一,本文介紹spring MV