获取方法名称和参数形成AOP调用类

时间:2015-01-08 10:09:28

标签: java jboss ejb-3.0 aop

我创建了一个自定义AOP拦截器,并在jboss 6中配置它 - > deploy->域名下的ejb3-interceptor-aop.xml文件"无状态Bean"。现在,自定义拦截器拦截了对任何无状态Bean的所有请求:

import java.util.logging.Level;
import java.util.logging.Logger;
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.Invocation;

public class SimpleInterceptor implements Interceptor {

@Override
public String getName() {
    return "SimpleInterceptor";
}

@Override
public Object invoke(Invocation invocation) throws Throwable {

    System.out.println("SimpleInterceptor - Logging BEFORE calling method :"+invocation);
    Object localObject1 = invocation.invokeNext();
    System.out.println("SimpleInterceptor - Logging AFTER calling method :");
    return localObject1;
}

} 

但是如何识别通过自定义拦截器调用了哪个无状态Bean,因为org.jboss.aop.joinpoint.Invocation类不提供方法详细信息或输入参数。那么有没有提取方法名称和输入参数的选项?