5

我正在阅读 Java EE CDI,但我对基于类的资源注入的工作方式感到困惑

Java EE 6 教程给出了以下示例用法:

@Resource(name="myMessageQueue",
                type="javax.jms.ConnectionFactory")
public class SomeMessageBean {
...
}

我知道它是如何声明的,但是声明的资源应该如何在SomeMessageBeanClass? myMessageQueue注入的资源是什么?

4

1 回答 1

5

@Resource在源自 EJB 的注释中。

它的血统可以追溯到可以注入田间的日子。在那些日子里,“注入”意味着将一些东西放入一种与每个 EJB bean 相关联的映射中。所谓的ENC(企业命名上下文)。

InitialContext您可以通过从EJB 内部的 when 或直接从 EJB 上下文(您也必须注入)请求“java:/comp”命名空间来访问此“映射” 。

这些天使用 ENC 似乎很少见。现场注入要方便得多。

于 2012-11-29T20:25:22.660 回答