使用JTA

时间:2016-12-16 12:27:53

标签: multithreading jpa eclipselink derby jta

我正在尝试使用Java未来中的JTA事务类型使用EclipseLink JPA将对象持久化到Derby数据库。

当我这样做时,我收到以下错误:

javax.persistence.TransactionRequiredException:
Exception Description: No externally managed transaction is currently active for this thread

当我尝试通过entityManager.getTransaction()获取事务时,我收到的消息是JTA不支持此事务。 此外,我尝试使用EntityManagerFactory来创建一个entityManager,因为我读到这个版本是线程安全的。但是,我得到的错误是EntityManagerFactory也不能与JTA一起使用。

在主线程上保留这些对象非常有效。这确实是多线程的问题。

我坚持像entityManager.persist(object);

这样的对象

有没有办法在主线程之外的另一个线程中通过EclipseLink JTA将对象持久化到Derby中? (由于这是一般性问题,我认为没有必要添加示例代码。)

提前多多感谢!

0 个答案:

没有答案