2009-04-21 3 views
1

J'ai un aspect dans mon application qui intercepte chaque exécution de conseil sur le système. Je veux être en mesure d'identifier les conseils sont "interceptés" par mon adviceexecution pointcut comme celui-ciEst-il possible d'obtenir des informations sur les conseils qui ont été pris dans un point de consultationexécution?

// ... code dans 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 
} 

// ... plus Code

Merci d'avance

Répondre

0

Vous pouvez obtenir la signature du conseil de joinPoint. Signature a plusieurs méthodes pour le décrire. Si c'est juste pour déboguer la méthode toString() le décrit bien

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); 
} 
Questions connexes