2

我有以下切入点:

@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.toString() 时适用,而不是 Poller.doPoll()。我希望它适用于在 Poller 类或其子类中采用任意数量参数的任何方法。为什么不是这样?

4

1 回答 1

0

表达式中可能缺少一个点

@Before(value="execution(* datasync.polling.Poller+.*(..))")
@Before(value="execution(* datasync.polling.Poller+..*(..))")
                                                   ^
于 2018-01-30T05:10:38.510 回答