Java AspectJ与切入点混淆
我如何表达一个只在从另一个方法中调用而不是直接调用时才发现方法的切入点 例如:Java AspectJ与切入点混淆,java,aop,aspectj,pointcuts,Java,Aop,Aspectj,Pointcuts,我如何表达一个只在从另一个方法中调用而不是直接调用时才发现方法的切入点 例如: Foo() calls Bar() calls object.Method() 也 我只希望切入点在Foo()中工作 我尝试了“withincode”,但这似乎只能直接起作用 谢谢 Eric您想要的实际上需要两点: 调用Bar类中的方法或构造函数,并在Foo类中执行,或最终使用带incode指示符的Foo()构造函数。例如,对这个连接点的建议可以设置一个标志,当从Foo()调用时该标志为true,否则为falso。
Foo() calls Bar() calls object.Method()
也
我只希望切入点在Foo()中工作
我尝试了“withincode”,但这似乎只能直接起作用
谢谢
Eric您想要的实际上需要两点:
调用Bar类中的方法或构造函数,并在Foo类中执行,或最终使用带incode
指示符的Foo()构造函数。例如,对这个连接点的建议可以设置一个标志,当从Foo()调用时该标志为true,否则为falso。这个变量可以存储在HashMap中,线程作为键,以避免并发问题
withincode
Bar()构造函数或在Bar类和call
object.Method()内。对此连接点的建议还必须检查标志是否设置为true。最后再次将Foo标志设置为false我认为cflow和cflowbelow只是用来处理执行流中的这种类型的标记。
NotFoo() calls Bar() calls object.Method()