如何在Spring Boot中的@AfterThrowing方法中访问Object

时间:2018-03-14 11:52:54

标签: java spring spring-boot aop

public void addTransaction(Transaction transaction){

}

@AfterThrowing(execution="(..)")

我正在做一个事务,我想抛出一个异常并将其捕获到AOP @AfterThrowing方法中。我想访问在我的方法中传递的对象,并在@AfterThrowing方法

中使用它

我想在我的afterthrowing方法中使用该事务对象。怎么做?

1 个答案:

答案 0 :(得分:0)

您可能需要一个周围的建议,例如:

@Aspect
@Component
public class ExceptionAspect {

    @Around("@annotation(hello.LogException")
    public Object handelLogging(ProceedingJoinPoint joinPoint) throws Throwable {

      try {    
        return joinPoint.proceed();
      }
      catch (Exception e) {
        // based on the exception that will cause a transaction rollback call your method here
        throw e;
      }
    }
}

不确定为什么需要该交易,请查看this answer以获取当前交易的帮助。

另请参阅hibernate interceptors afterTransactionCompletion method