我正在尝试使用注释样式对方面进行编码。我正在创建一个“环绕”建议,但我似乎找不到任何方法可以从建议方法中访问 thisEnclosureJoinPointStaticPart。每当我尝试为它定义一个参数时,我都会从 ajc 编译器中得到一个错误。
这是我的切入点和建议的声明:
@Pointcut("call(@xxx.api.annotation.InvokeOnEDT * gov.raptor..*.*(..))")
void invokeOnEDTPointCut()
{/*empty*/}
@Around("invokeOnEDTPointCut(thisEnclosingJoinPointStaticPart)")
public Object invokeOnEDT(final ProceedingJoinPoint thisJoinPoint, thisEnclosingJoinPointStaticPart) throws Throwable
{...}
我知道这无法编译,我提供它以显示我“想要”做的事情,但找不到方法。我花了几个小时在网上搜索,我能找到的唯一例子是之前或之后的建议,它们似乎允许这种语法。周围的建议显然表现不同,但我发现没有任何讨论它。
我编译时收到的错误是这样的:
[ERROR] ...\aspects\DispatchEDTAspects.java:42:0::0 incompatible number of arguments to pointcut, expected 0 found 1
关于如何从建议方法中访问 thisEnclosureJoinPointStaticPart 的任何想法?