我有一个拦截器绑定注释:排除特定的方法来通过CDI拦截器调用
@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 –