ロギングの目的で、Spring 独自の AOP を介してさまざまな Spring のランタイム例外をキャッチしようとしていますが、失敗したと言わざるを得ないので、これにアプローチする方法についてのアイデアをいただければ幸いです。
私はこのようなことを試しました:
@Aspect
@Component
public class SomeAspect {
@AfterThrowing(pointcut = "execution(* org.springframwork.oxm..*(..))", throwing = "exception")
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED)
public void adviseSpringErrorEvents(JoinPoint joinPoint, final UnmarshallingFailureException exception) throws Throwable {
LOG.debug(this.getClass().getSimpleName() + " - Error message advice fired on method: " + joinPoint.getSignature().getName());
}
}
クラスは自動プロキシされ、アスペクト クラスの残りのアドバイスは正しく実行されるため、AspectJ 式に問題があるはずです。
更新: メソッド内のコードは実行されず、アドバイスで例外をキャッチするつもりはありません。
何か案は?事前にthx。
PS Spring フレームワークのバージョンは 3.0.6 です。