gpt4 book ai didi

java - AspectJ 与切入点混淆

转载 作者:搜寻专家 更新时间:2023-11-01 02:54:44 31 4
gpt4 key购买 nike

如何表示仅在从另一个方法中调用而不是直接调用时才查找方法的切点?

例如:

Foo() calls Bar() calls object.Method()

还有

NotFoo() calls Bar() calls object.Method()

我只希望切入点在 Foo() 中工作

我试过“withincode”,但这似乎只能直接起作用。

谢谢埃里克

最佳答案

你想要的实际上需要两个连接点:

  1. 调用 Bar 类中的方法或构造函数,并在 within Foo 类中或最终使用 withincode 指示符的 Foo() 构造函数。例如,这个连接点的建议可以设置一个标志,当从 Foo() 调用时该标志为 true,否则为 false。此变量可以存储在以线程为键的 HashMap 中,以避免并发问题。
  2. withincode Bar() 构造函数或在 Bar 类中 call object.Method()。对该连接点的建议还必须检查标志是否设置为真。最后再次将 Foo 标志设置为 false。

关于java - AspectJ 与切入点混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861446/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com