AspectJ切入方法调用(即使它在外部库上调用)

时间:2013-01-08 15:17:50

标签: java aop aspectj ajdt

我在使用AJDT时遇到了一些困难。我希望它拥有的一个东西是在给定类型上调用的每个方法的记录,例如LinkedList。我观察到的是,使用下面的切入点,我可以将方法调用与任何名为add的方法相交,以实现Collection接口:

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

据我所知,这排除了在外部库中进行的方法调用,但这些对我来说非常有用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您有两种选择:

  1. 使用load time weaving。这将编译所有类,因为它们由类加载器加载。只有警告说编织成jdk类是很棘手的。
  2. 对要应用切入点的所有库执行编译时编织。