求AspectJ大神,声明了切入点在执行时没反应...急...
发布网友
发布时间:2022-04-25 07:22
我来回答
共1个回答
热心网友
时间:2023-11-06 13:50
另一个地方回答了,是因为 around advice 不可能支持 execution 类型的 pointcut,因为它肯定导致死循环。
我以前使用 Eclipse AJDT 插件时,看到它提供的 Help 文档中说明了 Call pointcut 和 execution pointcut 的差别, call 仅表示”想调用",而 "execution" 表示"真实地正在开始调用"目标方法。它们的差别就在于当 around advice 存在时可能根据条件 around advice 最后并没有调用 proceed() 来调用目标方法,这时 call (想调用) 是发生了,但 execution (执行) 并没有发生。
因此,当 execution 发生了再调用 around advice 而这时如果 around advice 又 proceed() 来调用目标方法,这是什么情况?1,不可能,2,死循环。
回来想想,call 的本意,打电话,你打了但人家可能没接电话。所以这里面 call 涵义需要理解。
原始代码中一行方法调用是 call,在没有 AOP 时它肯定就是 execution,但当引用了 around advice 时,call 就不一定肯定导致 execution。
热心网友
时间:2023-11-06 13:50
另一个地方回答了,是因为 around advice 不可能支持 execution 类型的 pointcut,因为它肯定导致死循环。
我以前使用 Eclipse AJDT 插件时,看到它提供的 Help 文档中说明了 Call pointcut 和 execution pointcut 的差别, call 仅表示”想调用",而 "execution" 表示"真实地正在开始调用"目标方法。它们的差别就在于当 around advice 存在时可能根据条件 around advice 最后并没有调用 proceed() 来调用目标方法,这时 call (想调用) 是发生了,但 execution (执行) 并没有发生。
因此,当 execution 发生了再调用 around advice 而这时如果 around advice 又 proceed() 来调用目标方法,这是什么情况?1,不可能,2,死循环。
回来想想,call 的本意,打电话,你打了但人家可能没接电话。所以这里面 call 涵义需要理解。
原始代码中一行方法调用是 call,在没有 AOP 时它肯定就是 execution,但当引用了 around advice 时,call 就不一定肯定导致 execution。
热心网友
时间:2023-11-06 13:50
另一个地方回答了,是因为 around advice 不可能支持 execution 类型的 pointcut,因为它肯定导致死循环。
我以前使用 Eclipse AJDT 插件时,看到它提供的 Help 文档中说明了 Call pointcut 和 execution pointcut 的差别, call 仅表示”想调用",而 "execution" 表示"真实地正在开始调用"目标方法。它们的差别就在于当 around advice 存在时可能根据条件 around advice 最后并没有调用 proceed() 来调用目标方法,这时 call (想调用) 是发生了,但 execution (执行) 并没有发生。
因此,当 execution 发生了再调用 around advice 而这时如果 around advice 又 proceed() 来调用目标方法,这是什么情况?1,不可能,2,死循环。
回来想想,call 的本意,打电话,你打了但人家可能没接电话。所以这里面 call 涵义需要理解。
原始代码中一行方法调用是 call,在没有 AOP 时它肯定就是 execution,但当引用了 around advice 时,call 就不一定肯定导致 execution。
热心网友
时间:2023-11-06 13:50
另一个地方回答了,是因为 around advice 不可能支持 execution 类型的 pointcut,因为它肯定导致死循环。
我以前使用 Eclipse AJDT 插件时,看到它提供的 Help 文档中说明了 Call pointcut 和 execution pointcut 的差别, call 仅表示”想调用",而 "execution" 表示"真实地正在开始调用"目标方法。它们的差别就在于当 around advice 存在时可能根据条件 around advice 最后并没有调用 proceed() 来调用目标方法,这时 call (想调用) 是发生了,但 execution (执行) 并没有发生。
因此,当 execution 发生了再调用 around advice 而这时如果 around advice 又 proceed() 来调用目标方法,这是什么情况?1,不可能,2,死循环。
回来想想,call 的本意,打电话,你打了但人家可能没接电话。所以这里面 call 涵义需要理解。
原始代码中一行方法调用是 call,在没有 AOP 时它肯定就是 execution,但当引用了 around advice 时,call 就不一定肯定导致 execution。