如何将Singleton EJB(容器资源)注入POJO(非Container资源)?

Aji*_*bal 1 cdi ejb-3.1 jboss7.x

我想将一个Singleton EJB注入到我的POJO类中.使用新的EJB 3.1规范,是否可以将EJB注入POJO?我知道在EJB 3.0中,@ EJB注释可用于注入EJB,但这对简单的POJO不起作用. @javax.inject.Inject也不适合我.

还有一件事是,容器和非容器资源之间有什么区别?我如何实现它,我正在使用JBoss AS 7.1.1.

Bre*_*ail 6

EE是围绕组件类(EJB,servlet等)的思想设计的.EE容器只能在控制对象的创建时执行注入,这不适用于POJO,因此您不能在POJO对象上使用EE注入.

要使CDI正常工作,您需要添加META-INF/beans.xml到存档中.即使这样,您也无法使用创建POJO实例new.您总是必须让容器创建实例,因此@InjectPOJO可以@Inject是EJB,也可以使用javax.enterprise.inject.spi.BeanManager.