0

我正在尝试在运行时加载类,我很好奇,当以这种方式加载类时,是否可以注入 @EJB 注释属性?正在使用 servlet 的类加载器 ( ChangeAwareClassLoader ) 从 servlet 加载该类。

也就是说,如果我加载一个定义为

public class Foo {
  @EJB
  Bar bar;
}

在servlet中如下

ClassLoader cLoader = this.getClass().getClassLoader();
c = cLoader.loadClass("Foo");

我希望注入EJB Bar 。

谢谢。

4

1 回答 1

1

EJB 只能注入@EJB到“托管”类中。在 Java EE 中,这基本上意味着只进入 EJB(无状态和有状态 EJB、消息 Bean 等)和 Servlet/过滤器。

其他任何东西(POJO、JPA 实体等)都不会注入资源,您必须使用查找机制来访问它们。

于 2013-01-15T04:10:06.197 回答