Estoy intentando configurar la primavera para que ejecute consejo cuando una subclase excepción específica (MyTestException
) es lanzada:AOP primavera y Excepción Interceptar
public class MyTestExceptionInterceptor implements ThrowsAdvice {
public void afterThrowing(Method method, Object[] args, Object target, Exception exc) {
// I want this to get executed every time a MyTestException is thrown,
// regardless of the package/class/method that is throwing it.
}
}
Y la configuración XML:
<bean name="interceptor" class="org.me.myproject.MyTestExceptionInterceptor"/>
<aop:config>
<aop:advisor advice-ref="interceptor" pointcut="execution(???)"/>
</aop:config>
Tengo la sensación de que debería estar usando el especificador de corte puntual target
(en lugar de execution
) ya que, según el Spring docs, parece que target
me permite especificar el tipo de excepción para que coincida con t, pero no estoy seguro de si eso está mal, o de cómo debe ser mi atributo pointcut
.
me habría enormemente prefieren mantener la configuración AOP hecho en XML (a diferencia de Java/anotaciones, pero probablemente se podría traducir una solución basada en la anotación en XML si es necesario.