我对涉及Aspectj的问题感到难过。我要做的是对一个用方法级注释注释的调用进行“after()throw”匹配。
@MyAnnotation
public void doSomething(Param p1, Param p2)
如果我使用
after() throwing(MyCustomException ex) : call (@com.me.MyAnnotation * *.*(..))
它有效,但是如果我在注释中添加了一些参数,那么它们就无法匹配。
@MyAnnotation(value = "doobery")
public void doSomething(Param p1, Param p2)
我的切入点缺少什么?
为了澄清,我想匹配两个示例,我也不关心注释中的参数。
AspectJ 1.6的版本
答案 0 :(得分:2)
哈!得到了它。
所以线索正在看到被编织的痕迹。我可以看到一些方法被编织而其他方法没有。但是,我突破了方法的重复编织方法。
我正在使用“调用” - 因此编织只发生在方法的调用上,所以当我有一个类被编织多次调用匹配方法时,它们会出现多次。
我需要切换到“执行”,以便即使没有被调用,也会在方法上进行编织。
我的建议是:
after() throwing(MyCustomException ex) : execution (@com.me.MyAnnotation * *(..))