AspectJ 环绕调用,包括方法调用后的方法体
AspectJ Around call, including method body after method call
所以我试图在 Java AspectJ
中实现类似于 kotlin 协程的东西
目前我正在尝试在调用 Waitable.waitFor() 的方法时拦截方法
Waitable.waitFor() 之后方法体中的所有内容都应该安排
但是在我现在的代码中,它只拦截方法调用,并没有包含之后的方法体
所以我想知道是不是我的切入点表达式代码错了?或者有什么更好的方法可以做到这一点?
@Around("call(* org.imanity.framework.wait.Waitable.waitFor(..))")
public Object waitCall(ProceedingJoinPoint joinPoint) throws Throwable {
Scheduler.runAfter(() -> joinPoint.proceed(), Long.parseLong(joinPoint.getArgs()[0]));
}
调用后无法捕获方法体
想象一下你能做到。
- 如何使用循环?
- 局部变量将存储在哪里?
PS:有一个项目 Loom 旨在向 java 添加协程。
PS:我们必须竭尽全力阻止那个项目,这是一个巨大的错误。
所以我试图在 Java AspectJ
中实现类似于 kotlin 协程的东西目前我正在尝试在调用 Waitable.waitFor() 的方法时拦截方法 Waitable.waitFor() 之后方法体中的所有内容都应该安排
但是在我现在的代码中,它只拦截方法调用,并没有包含之后的方法体
所以我想知道是不是我的切入点表达式代码错了?或者有什么更好的方法可以做到这一点?
@Around("call(* org.imanity.framework.wait.Waitable.waitFor(..))")
public Object waitCall(ProceedingJoinPoint joinPoint) throws Throwable {
Scheduler.runAfter(() -> joinPoint.proceed(), Long.parseLong(joinPoint.getArgs()[0]));
}
调用后无法捕获方法体
想象一下你能做到。
- 如何使用循环?
- 局部变量将存储在哪里?
PS:有一个项目 Loom 旨在向 java 添加协程。
PS:我们必须竭尽全力阻止那个项目,这是一个巨大的错误。