Java 如何在多个持久化上下文中以事务方式持久化对象?
我正在使用两个不同的数据库(DB2和SQLSERVER)。我在persistence.xml中定义了两个持久性单元。我有一个无状态ejb,我在其中注入了两个持久性上下文 我有一个方法,需要从数据库a读取某些记录,在那里写入一些数据,如果一切正常,则向数据库B写入一些数据。我遇到了以下异常: com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException:非法尝试登记多个1PC XAResourcesJava 如何在多个持久化上下文中以事务方式持久化对象?,java,jpa,jta,Java,Jpa,Jta,我正在使用两个不同的数据库(DB2和SQLSERVER)。我在persistence.xml中定义了两个持久性单元。我有一个无状态ejb,我在其中注入了两个持久性上下文 我有一个方法,需要从数据库a读取某些记录,在那里写入一些数据,如果一切正常,则向数据库B写入一些数据。我遇到了以下异常: com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException:非法尝试登记多个1PC XAResources 我很确定我不能用我正在尝试的方式
我很确定我不能用我正在尝试的方式去做,但是我不知道我应该用什么策略来代替。不同EJB中的不同persistenceContext?我在这里迷路了,欢迎有任何想法。提前谢谢 您需要像Atomikos这样的事务管理器来管理两个不同数据库源之间的事务。向您展示了如何使用JPA、Hibernate和Spring进行配置,但我相信您可以使其适应您的环境。您需要像Atomikos这样的事务管理器来管理两个不同数据库源之间的事务。向您展示了如何使用JPA、Hibernate和Spring对其进行配置,但我相信您可以使其适应您的环境