【发布时间】:2014-01-05 04:35:02
【问题描述】:
切入点声明:
@Pointcut(value="com.someapp.someservice.someOperation() && args(t,req)",argNames="t,req")
private void logOperationArg(final String t,final String req)
{
}
建议声明未编译:
@Before(value="logOperationArg(t,req)")
public void logBeforeOperationAdvice(JoinPoint jp, final String t, final String req){
...
}
使用 Aspectj-maven-plugin(1.5 版本)编译 Aspect 时,出现错误 "can not build thisJoinPoint lazily for this advice since it has no suitable guard [Xlint:noGuardForLazyTjp]"
但同样的建议在没有 JoinPoint 参数的情况下也可以编译。
建议声明编译:
@Before(value="logOperationArg(t,req)")
public void logBeforeOperationAdvice(final String t, final String req){
...
}
【问题讨论】:
-
如何执行 logOperationArg()?将其公开...同时使用 execution() 而不是 value=...
标签: java spring spring-aop aspectj-maven-plugin