У меня есть следующий pointcut:
@Before(value="execution(* datasync.polling.Poller+.*(..))")
public void beforePoll() {
logger.info("DOING THIS");
}
И следующий абстрактный класс:
package datasync.polling;
import datasync.principle;
public abstract class Poller<P extends Principle> {
protected P principle;
public Poller(P principle) {
this.principle = principle;
}
@Override
public String toString() {
return "Poller for " + principle.toString();
}
public abstract P doPoll();
}
Мой pointcut применяется только когда я вызываю Poller.toString (), а не Poller.doPoll().Я ожидаю, что он будет применяться к любому методу, который принимает любое количество аргументов в классе Poller или его подклассах.Почему это не так?