Я пытаюсь добавить новый совет к моему аспекту J.
public aspect Aspect11 {
pointcut namePC(String s, int i) : call (public String Simple.getName(String, int))&&args(s,i);
pointcut getData(int j) : get(public int Simple.trial)&&args(j);
after(String s, int i) : namePC(s, i) {
// this is the advice
System.out.println("Printing..." + s + " " + i);
System.out.println(thisJoinPoint.getSignature());
}
before(int j):getData(j)
{
System.out.println(j);
}
}
В приведенном выше коде уже были добавлены pointcut namePC() и его рекомендации. Это работало, как и ожидалось.
Ниже приведен мой Simple.java
public class Simple {
private String name = "Aman";
String home;
int trial;
public String getName(String s, int i) {
System.out.println("Hi in getName()" + s + " " + i);
return name;
}
public static void main(String args[]) {
Simple simple = new Simple();
simple.trial=8;
System.out.println("AA" + simple.getName("In Simple", 1));
}
}
Когда я пытаюсь добавить новый разрез точки и его совет: getData(), я получаю предупреждение: «рекомендация, определенная в Aspect11, не была применена [Xlint:adviceDidNotMatch]». !!