【发布时间】:2017-01-28 15:18:01
【问题描述】:
我有一个拦截器绑定注解:
@InterceptorBinding
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyBinding {
}
到这个 CDI 拦截器:
@Interceptor
@MyBinding
public class MyInterceptor {
@AroundInvoke
public Object applyPolicy(InvocationContext ctx) throws Exception {
return blablabla;
}
}
并且一个类被注释,这意味着这个类的每个方法都会调用 MyInterceptor
@MyBinding
public class GlobalController {
public void methodA() {...}
public void methodB() {...}
}
一切正常,但我希望methodB不要调用我的拦截器。
我在我的方法上尝试了@ExcludeClassInterceptors 和@ExcludeDefaultInterceptors 这两个注释,但它对我不起作用。我认为这些注释是专门用于排除 EJB 拦截器的方法,而不是带有拦截器绑定的 CDI 拦截器。
【问题讨论】:
-
您好,您使用的是什么 CDI impl?什么容器?
-
在 Jboss EAP 6.4.0 中使用 Deltaspike
标签: java ejb cdi interceptor