Spring AOP is being invoked unexpectedly
我已经在应用程序中为2个不同的软件包配置了Spring AOP以记录异常。
每个软件包有2种不同的配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <aop:pointcut id="pointCut" expression="execution(* com.abc.*.*(..))" /> <aop:after-throwing method="logExceptionABC" throwing="error" pointcut-ref="pointCut" /> </aop:aspect> </aop:config> <aop:pointcut id="pointCut" expression="execution(* com.xyz.*.*(..))" /> <aop:after-throwing method="logExceptionXYZ" throwing="error" pointcut-ref="pointCut" /> </aop:aspect> </aop:config> |
在服务方法调用中,存在对属于以下每个程序包的类的方法的调用:
公共无效方法()
{
method1(); ->包abc
method2(); ->包xyz
}
在method2中会发生一些异常,该异常会调用logExceptionXYZ方法,其中我们将其包装在一个通用异常中,例如ExceptionXYZ,并将其进一步抛出。
但是在此之后,还会调用logExceptionABC方法并引发一个通用异常,例如ExceptionABC。
我无法理解为什么为什么要调用logExceptionABC方法?
如果有人知道这样的问题,请告诉我!
问候,
拉胡尔
相同的
尝试分配唯一的ID。