2009-04-21 1 views
1

私は自分のアプリケーションに、システム上のすべてのアドバイスの実行をインターセプトする側面を持っています。私はadviceexecutionポイントカットでどのアドバイスがキャッチされたかについての情報を得ることはできますか?

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

// ...さらにコード

AdviceInspector.ajにこの

// ...いくつかのコードのように私のadviceexecutionポイントカットによって「横取り」されているアドバイスを識別することができるようにしたいです

ありがとうございます

答えて

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); 
} 
関連する問題