EJB上的基于注释的拦截器

时间:2017-09-27 10:19:27

标签: java java-ee cdi interceptor

是否可以使用拦截器绑定功能注释在EJB上声明拦截器,就像我们在CDI bean上那样?

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@InterceptorBinding
public @interface MyInterceptor {
}

@Stateless
@Remote(MyService.class)
public MyServiceImpl implements MyService {

     @Override
     @MyInterceptor
     public String myBusinessMethod() {
          return "";
     }

}

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。您可以像处理任何其他CDI bean一样处理EJB。您需要激活beans.xml中的拦截器或添加@Interceptor绑定。有关详细信息,请参阅焊接文档proxy

标准EJB注释也是这样实现的,可以在src或上面提到的文档链接中看到。