spring aop異常履歴

1925 ワード

コメント? 修飾子 戻り値の種類 タイプ宣言メソッド名(パラメータリスト) 異常リスト   
オプションとして、メソッドに保持されているコメントは@Deprecatedのようです.この注釈の表示方法について、@withinはクラスに使用される.
切り込んだクラスと切り込まれたクラスはスプリングで管理されていなければなりません.自分ならnew 出てきたものは、切り込みが無効です. 
 /**
  	 *     
  	 * */
     @Pointcut("execution(* com.ybt.service..*.*(..) ) || execution(* com.ybt.util..*.*(..)) && !@within(org.aspectj.lang.annotation.AfterThrowing)")
     public void exceptionHandler (){};
	 @Pointcut("execution(* com.ybt.util..*.*(..))")
	 public void exceptionHandler2(){};
	 @AfterThrowing(pointcut = "exceptionHandler()",throwing="ex")
	 public void exceptionHandlerAfterExp(JoinPoint joinPoint,Throwable ex){
	     StackTraceElement[] trace = ex.getStackTrace();
	     String exclass = trace[0].getClassName();
		 String method = trace[0].getMethodName();
		 String exceptionContent = "";
	     for (StackTraceElement s : trace) {
	    	 exceptionContent += "\tat " + s + "\r
"; } String params = joinPoint.getSignature().getName() + "( "; for(Object arg : joinPoint.getArgs()){ params += arg+", "; } if(params.indexOf(",") > 0){ params = params.substring(0,params.length() -2) + " )"; }else{ params = ""; } YbtException exp = new YbtException(); exp.setExClass(joinPoint.getTarget().getClass()+"-->"+exclass); exp.setException(ex.toString()); exp.setMethed(joinPoint.getTarget().getClass()+"."+joinPoint.getSignature().getName()+"()-->"+exclass+"."+ method+"()"); exp.setExceptionContent(exceptionContent); exp.setParams(params); exp.setExTime(new Date()); exceptionService.saveException(exp); }
切り込んだクラスと切り込まれたクラスはスプリングで管理されていなければなりません.自分ならnew 出てきたものは、切り込みが無効です.