私は次のポイントカットを持っています:
@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();
}
私のポイントカットは、Poller.doPoll() ではなく、Poller.toString() を呼び出した場合にのみ適用されます。Poller クラスまたはそのサブクラス内で任意の数の引数を取る任意のメソッドに適用されることを期待しています。そうでないのはなぜですか?