0

我有一个项目分为两部分:persistence.jar、webapp.war。我没有将它们打包在单个 EAR 中,因为我想重新部署 webapp/运行 arquillian 测试,而无需重新部署持久性以实现快速周转。

通过这种设置,如何从 webapp.war 中定义的 bean 中使用在 persistence.jar 中定义的事务范围 @PersistenceContext?还有其他方法可以实现我的目标吗?

4

1 回答 1

0

没有规范定义的方法来实现这一点。想到的唯一选择是使用 TransactionSynchronizationRegistry.getResource、.putResource 和 .registerInterposedSynchronization 自己管理事务范围的 EntityManager(基本上,与 JPA 容器通常代表您所做的相同)。您也很可能需要以某种方式在应用程序服务器中配置类加载,以确保两个应用程序对相同的实体类具有可见性。

于 2013-07-16T18:31:28.347 回答