我创建了一个自定义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
类不提供方法详细信息或输入参数。那么有没有提取方法名称和输入参数的选项?
答案 0 :(得分:1)