为了记录的目的,我们试图通过Spring自己的AOP来捕捉各种Spring的运行时异常,我必须说我一直不成功,所以我会很感激任何想法如何处理。Catch Spring运行时异常与春天AOP
我已经试过这样的事情:
@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());
}
}
该类autoproxied和建议的方面类,其余正确触发,所以必须有与AspectJ的表达有问题。
更新:该方法内的代码不运行,它不是我的意图在通知中捕获异常。
任何想法? Thx提前。
P.S. Spring框架版本是3.0.6。
你的意思是不成功,这段代码甚至没有运行,或者它没有捕获异常? - 如果您想停止传播异常,则需要@AroundAdvice。 – krock 2012-04-10 12:46:44
这段代码甚至没有运行。调试器不会停止在给定方法内的断点处。 – quantum 2012-04-10 12:53:11