8 Stimmen

Spring AOP und Abfangen von Ausnahmen

Ich versuche, Spring so zu konfigurieren, dass es Ratschläge ausführt, wenn eine bestimmte Ausnahme-Unterklasse ( MyTestException ) geworfen wird:

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

Und die XML-Konfiguration:

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

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

Ich habe das Gefühl, ich sollte die target Pointcut-Spezifikation (anstelle von execution ), da - laut der Frühlingsdokumente - es scheint, als ob target erlaubt es mir, die Art der Ausnahme anzugeben, gegen die abgeglichen werden soll, aber ich bin mir nicht sicher, ob das falsch ist, oder was meine pointcut Attribut muss wie folgt aussehen.

Ich würde sehr Ich ziehe es vor, die AOP-Konfiguration in XML zu halten (im Gegensatz zu Java/Anmerkungen, aber ich könnte wahrscheinlich eine annotationsbasierte Lösung in XML übersetzen, wenn es nötig ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X