2013-01-08 65 views
1

我在使用AJDT時遇到了一些困難。我希望它有一個記錄每個給定類型的方法的記錄,例如LinkedList。我觀察到的是,使用下面的切入點,我可以只相交方法調用名爲添加到實現Collection接口的任何實例的任何方法:據我可以看到AspectJ切入方法調用(即使它在外部庫上調用)

pointcut CollectionAddCallPointcut(): call(* java.util.Collection+.add(..)); 

,排除在製造方法調用外部庫,但這些對我來說非常有用。我該如何解決這個問題?

回答

2

你有兩個選擇:

  1. 使用load time weaving。這將編譯所有類,因爲它們是由類加載器加載的。唯一的警告是編織成jdk類是非常棘手的。
  2. 執行編譯時編織您希望將您的切入點應用於的所有庫。