当前位置: 首页 > 知识库问答 >
问题:

ejb容器中Pojo类内EntityManager为空

贺山
2023-03-14

我在netbeans中有一个Java web服务模块和ejb模块(都是企业应用程序的一部分)。web服务使用@ejb注入使用ejb类。在ejb模块中,我有一个TransactionManager类,它不是企业bean。只是一堂POJO课。我正在尝试使用以下方法注入EntityManager

    @PersistanceContext(unitName = "testPU")
    EntityManager em;
    @Stateless
    @Local(IMyService.class)
    public class MyService extends MyBase implements IMyService
    {
        MyComponent component = null;
        public void doSomething(X x)
        {
             component = new MyComponent();
             component.doSomething(x);
        }
    }
    public class MyComponent extends MyBase implements IMyComponent
    {
        TransactionManager tManager = null;
        public void doSomething(X x)
        {
            tManager = new TransactionManager();
            tManager.doSomething(x);
        }
    }

TransactionManager类是我希望为PersistenceContext进行依赖注入的类

    public class TransactionManager extends MyBase implements ITransactionManager
    {
          @PersistenceContext(unitName="TestPU")
          EntityManager em;
          public void doSomething(X x)
          {
               em.persist(x);
          }
     }

共有1个答案

金秦斩
2023-03-14

POJO不由容器管理。而bean由容器管理&负责注入资源。

您可以尝试JNDI查找来查找容器不负责的非托管自定义类的资源。

 类似资料:
  • 问题内容: 使用新的EJB 3.1规范,是否可以将EJB注入pojo?我知道在EJB 3.0中,@ EJB批注可用于注入EJB,但这不适用于简单的pojos。 如果不是,我必须在JNDI中查找bean,因为我知道您不能简单地使用new关键字。 问题答案: 是的,使用JNDI查找。 由于您的POJO是由您创建的(我假设),因此容器不负责注入依赖项。

  • 问题内容: 构造bean之后,我想使用EntityManager从数据库中检索数据。在构造函数中是不可能的,因为EntityManager是在调用构造函数之后注入的。所以我试图用@PostConstruct注释的方法来做。根据API,在完成所有注入后将调用PostConstruct方法。执行查询是可行的,但是它总是返回一个空列表。如果我在其他方法中使用相同的查询,它将返回正确的结果。有人知道,为什

  • 我在QuartzJobs实例上使用EntityManager遇到此问题: Java语言weblogic上的lang.NullPointerException。坚持不懈CICScopedImprovider。weblogic上的getEMForCurrentCIC(CICScopedImprovider.java:35)。坚持不懈事务实体管理器Proxy Impl。weblogic上的getPers

  • 我正在尝试实现EJB命令来通信两个jsf项目。 我创建了一个EAR,其中有我的两个jsf项目+ejb。

  • 问题内容: 我想为Kotlin创建POJO类,因为我们知道www.jsonschema2pojo.org将JSON转换为POJO,因此我们可以将其与gson一起使用。 有人知道如何 快速 为Kotlin创建Gson POJO 吗? 编辑: 我知道它使用Data类,但是有没有最简单的创建方法? 问题答案: 是的,我有解决方案 例如: 使用http://www.jsonschema2pojo.org/

  • 问题内容: 是否可以从EntityManager中获取Hibernate Session对象?我想访问一些hibernate特定的API … 我已经尝试过类似的东西: 但是,一旦我在EJB中调用方法,我就会收到带有NullPointerException的“在EJB上调用期间发生系统异常” 我用玻璃鱼3.0.1 问题答案: Bozho和partenon是正确的,但是: 在JPA 2中,首选机制是e