Java AspectJ环绕调用上的特定返回类型

Java AspectJ环绕调用上的特定返回类型,java,aspectj,spring-aop,Java,Aspectj,Spring Aop,我希望创建关于具有特定返回类型的方法的建议。我很好奇这样的事情是否可能发生。我有这样的方法,例如: @Around("execution(* com.mytest.example.*Resource.*(..))") public Object restCallMade(ProceedingJoinPoint pjp) { Response response = null; try { response = (Response) pjp.proceed();

我希望创建关于具有特定返回类型的方法的建议。我很好奇这样的事情是否可能发生。我有这样的方法,例如:

@Around("execution(* com.mytest.example.*Resource.*(..))")
public Object restCallMade(ProceedingJoinPoint pjp) {
    Response response = null;

    try {
        response = (Response) pjp.proceed();

        // Do other stuff
    } catch (Throwable e) {

    }

    return response;
}
但是,如果可能的话,我希望只有当方法的返回类型是Response时才调用这个建议。可能吗

只需在切入点的方法签名中使用(完全限定的)类型名称,而不是小丑
*

@Around(“execution(org.foo.Response.com.mytest.example.*Resource.*(…)”)
公共响应重新调用(处理连接点pjp){
响应=空;
试一试{
response=(response)pjp.procedure();
//做其他事情
}捕获(可丢弃的t){}
返回响应;
}

我试过了,但犯了一个错误,就是只写了回复而不是org.foo.Response。因此,如果它现在起作用,请接受并投票支持我的答案。顺便说一句,完全限定名仅在注释样式方面是必需的。在本机AspectJ语法中,可以直接使用导入的类名。