我创建了一个自定义AOP拦截器,并在“无状态Bean”域下的jboss 6-> deploy-> ejb3-interceptor-aop.xml文件中对其进行了配置。现在,对任何无状态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
类既不提供方法详细信息,也不提供输入参数。那么,是否有提取方法名称和输入参数的选项?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句