Spring AOP et à l'Exception de l'Interception

Je suis en train de configurer le Ressort pour qu'il exécute des conseils lorsqu'une exception spécifique sous-classe (MyTestException) est jeté:

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.
    }
}

Et la configuration XML:

<bean name="interceptor" class="org.me.myproject.MyTestExceptionInterceptor"/>

<aop:config>
  <aop:advisor advice-ref="interceptor" pointcut="execution(???)"/>
</aop:config>

J'ai le sentiment que je devrais être à l'aide de la target coupe transverse (pointcut) spécificateur (au lieu de execution) puisque - selon le Printemps docs - il semble que target me permet de spécifier le type d'exception pour la comparaison, mais je ne suis pas sûr si c'est faux, ou ce que mon pointcut attribut doit ressembler.

Je grandement préfère garder l'AOP config fait en XML (contrairement à Java/annotations, mais je pourrais probablement traduire une annotation solution basée sur XML, en cas de besoin.

OriginalL'auteur IAmYourFaja | 2011-12-01