java - EJB 拦截器与 CDI 拦截器

标签 java java-ee-6 cdi ejb-3.1

在 ejb-jar.xml 文件中声明的 EJB 拦截器与在 beans.xml 文件中声明的 CDI 拦截器之间有什么区别吗?

两个拦截器都使用注解@Interceptors 声明。如果 CDI 拦截器也适用于 EJB 那么为什么 EJB 拦截器存在呢?

最佳答案

你是对的,它们基本上是一样的,但 CDI 拦截器稍微复杂一点——它们包含例如拦截器绑定(bind)。参见 Weld documentation以供引用。请注意,将来可能会努力统一 EJB 和 CDI(例如,CDI 1.1 允许您使用 JTA 声明式事务,从而有效地取代 EJB 事务),因此我预计这两个项目将在未来几年内合并。

关于java - EJB 拦截器与 CDI 拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21719571/

相关文章:

java - 为什么列表列表 <? super E> 是列表 <?扩展列表 <? super E>> 但不是 List<List<? super E>>

java - 如何生成 Maven 项目的所有模块之间的依赖关系图?

java - 在 eclipse 之外将 Spring MVC 应用程序部署到 tomcat 的幕后会发生什么?

java - weblogic 12.2.1.1.0 中的 "WELD-001409 Ambiguous dependencies for type "

java - 在java中使用CDI注入(inject)多个log4j记录器类型

java - Http status 404 -/请求的资源不可用

Java:哪种结构方法更好

java - 需要查询来检查数据库中是否已存在电子邮件(Java Persistence API)

java - 我可以注入(inject)内部类的对象吗?

CDI:调用哪个实例的@Observes-method?