Я пытаюсь настроить Spring так, чтобы он выполнял рекомендации, когда выбрасывается определенный подкласс исключений (MyTestException
):
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.
}
}
И XML-конфигурация:
<bean name="interceptor" class="org.me.myproject.MyTestExceptionInterceptor"/>
<aop:config>
<aop:advisor advice-ref="interceptor" pointcut="execution(???)"/>
</aop:config>
У меня такое чувство, что я должен использовать спецификатор target
pointcut (вместо execution
), поскольку - согласно Spring docs - кажется, что target
позволяет мне указывать типисключение для сопоставления, но я не уверен, что это неправильно или как должен выглядеть мой атрибут pointcut
.
Я бы сильно предпочел бы, чтобы конфигурация AOP была сделанав XML (в отличие от Java / аннотации, но я мог бы, при необходимости, перевести решение на основе аннотаций в XML.