【问题标题】:@EJB injection and the Enterprise Naming Context - relation between the two@EJB 注入和企业命名上下文 - 两者之间的关系
【发布时间】:2009-06-23 22:41:02
【问题描述】:

Java EE 规范声明这样的 EJB 注入:

@EJB MyInterface myBean;

将在企业命名上下文中创建条目,即。 java:comp/env/<FQN>.MyInterface/myBean。由部署者将此上下文条目绑定到一个真实值并将此值注入到 myBean 字段中。

现在我觉得我在这里遗漏了一些东西:

为什么需要上下文条目?所请求的 EJB 实例将被注入,那么为什么需要上下文中的条目呢?为什么注入必须通过上下文条目发生?

【问题讨论】:

    标签: java ejb-3.0 java-ee-5


    【解决方案1】:

    所有收到的答案都没有解决问题:如果注入注释提供了足够的信息来解决注入,为什么需要 ENC 条目(所以我的第一个想法是它是多余的)。

    答案是可以在部署描述符中覆盖注入。这是因为 EJB 标准定义了开发人员角色。

    它假定“bean 提供者”可以请求注入,甚至提供默认值。但是“应用程序汇编器”可以覆盖这些值。假定“bean 提供者”使用注解或 XML,假定“汇编器”主要使用 XML。

    这就是 EJB 标准定义 ENC 和注入之间的这种关系的原因。

    【讨论】:

      【解决方案2】:

      我认为,如果您需要注入一个有状态会话 Bean,您将需要一些上下文来了解您的 EJB 实例和一些先前注入的 EJB 依赖项(到该实例)之间的关系。

      【讨论】:

        【解决方案3】:

        这是为了让你通过某种方式获得的字符串进行查找。

        【讨论】:

          猜你喜欢
          • 2013-08-26
          • 2019-01-27
          • 2015-12-19
          • 1970-01-01
          • 2020-04-01
          • 2014-11-16
          • 1970-01-01
          • 2017-02-26
          • 1970-01-01
          相关资源
          最近更新 更多