【发布时间】:2009-10-28 22:19:36
【问题描述】:
我有一个在 JBOSS 内部运行的托管 bean/服务。然后我有一个石英作业,它偶尔会醒来并调用托管 bean 的方法。这种方法有时很长而且很冗长,而且由于我不希望石英作业超时,所以我在托管 bean 中实现了一个线程来执行处理。线程完成后,我需要使用结果更新数据库表。这是一个非常连续的过程,需要基于一些业务规则等。
我的主要问题是我可以在服务中毫无问题地使用 EntityManager,但是我不能在线程中使用它,我得到 NullPointerException。解决这个问题的最佳方法是什么?
谢谢,
斯科特
【问题讨论】:
-
您是否将 EJB 中的 EntityManager 作为@PersistenceContext 获取?
-
是的,我愿意。经过大量研究,我发现 EntityManager 不是线程安全的,因此不能在子线程中使用/访问。
标签: jboss service entitymanager jmx