Можно ли получить информацию о том, какой совет был пойман в pointcut выполнения совета? - PullRequest
1 голос
/ 21 апреля 2009

В моем приложении есть аспект, который перехватывает каждое выполнение совета в системе. Я хочу быть в состоянии определить, какой совет "перехватывается" моим точечным обозначением выполнения совета, например

// ... некоторый код в 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
}

// ... дальнейший код

Заранее спасибо

1 Ответ

0 голосов
/ 13 июля 2009

Подпись совета вы можете получить в 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);
}
...