1

私のアプリケーションには、システムでのすべてのアドバイスの実行を傍受する側面があります。このようなアドバイス実行ポイントカットによって、どのアドバイスが「傍受」されているかを特定できるようにしたいと思います。

//...AdviceInspector.ajのコード

    before(): adviceexecution() && !within(AdviceInspector) {
    System.out.println("advice execution being intercepted");
            // TODO : get a way to know which advice execution has been intercepted
}

//...さらなるコード

前もって感謝します

4

1 に答える 1

0

joinPointからアドバイスの署名を取得できます。署名には、それを説明するためのさまざまな方法があります。toString()メソッドをデバッグするためだけの場合は、それを適切に記述します

before(): adviceexecution() && !within(AdviceInspector) {
    org.aspectj.lang.Signature sig = thisJoinPoint.getStaticPart().getSignature();
    //It is also valid to do 
    //Signature sig =  thisJoinPointStaticPart.getSignature();
    System.out.println(sig);
}
于 2009-07-13T17:56:17.263 に答える