切入点表达式返回抛出错误

时间:2014-09-08 21:24:38

标签: java spring aspectj

我已经定义了像这样的切入点

@Pointcut("execution(* com.personal.services.Example.buildList(..))")
public void contextInterceptor() {
//pointcut identifier
}

我想将它用于afterReturning建议。 如何添加返回变量以便我可以在我的建议中访问它?

@AfterReturning("contextInterceptor()")
public Object contextAdvice(JoinPoint jp, Object returnObj){
//process returnobj;
return returnObj;
}

我试过了,但它给了我错误

@Pointcut("execution(* com.personal.services.Example.buildList(..))",returning="returnObj")

2 个答案:

答案 0 :(得分:1)

你可以用这样的方法完成所有这些:

@AfterReturning(
    pointcut = "execution(* com.personal.services.Example.buildList(..))",
    returning = "retVal"
)
public void afterReturning(JoinPoint joinPoint, Object retVal) {
    if (retObject != null) {
        logger.error("Returned object: " + retVal);
        logger.error("Returned type:   " + retVal.getClass().getName());
    }
}

答案 1 :(得分:0)

我明白了。 我这样做,现在工作正常。

@AfterReturning(pointcut="contextInterceptor()",returning="returnObj")