【问题标题】:Injecting EJB with @EJB or @Inject in the service layer for my REST web service?在我的 REST Web 服务的服务层中使用 @EJB 或 @Inject 注入 EJB?
【发布时间】:2013-12-19 06:49:49
【问题描述】:

我创建了一些 EJB,它们用@Stateless 注释。要在其他 EJB 中使用这些 EJB,我目前正在使用 @EJBannotation。我为我的 REST Web 服务(我正在使用 JAX-RS)创建了另一个层(在服务层之上),我想知道是否应该使用 @EJB@Inject。我知道这两个是不同的东西——它们可能生活在不同的容器中?如果我使用@Inject,我会得到与@EJB 相同的EJB。还是从 CDI 容器中获取 EJB?

我还猜想,通过使用@Inject,我无法获得从@EJB 获得的所有EJB 功能?

【问题讨论】:

    标签: java rest jakarta-ee cdi


    【解决方案1】:

    @Inject 支持 EJB 的注入。没有功能差异,CDI 使用标准 JNDI 位置进行查找以查找对象。 @EJB 注释具有一些额外的功能,主要围绕远程处理或非标准 JNDI 位置,@Inject 不支持 OOTB

    【讨论】:

      【解决方案2】:

      关于:http://www.oracle.com/technetwork/articles/java/cdi-javaee-bien-225152.html的有趣链接:我自己没有尝试,但看起来@Inject 比@EJB 更强大...

      【讨论】:

        猜你喜欢
        • 2015-06-29
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-07
        • 2017-01-03
        • 2011-06-12
        相关资源
        最近更新 更多