Jpa ejb3-using-2-persistence-units-in-a-transaction
我在使用以下技术堆栈从同一事务中连接到2个持久性单元时遇到问题 WLS10.3.x、Eclipselink 2.1、Oracle11gJDBC驱动程序、Informix10JDBC驱动程序 使用来自此的输入,我使oracle数据源XA兼容,Informix ds模拟2阶段提交,然后开始工作。然而,现在我遇到了一个奇怪的问题 我使用独立java客户机来调用EJB3SLSB,它反过来调用JPA实体。我面临的问题是,它第一次工作,第二次不抛出任何异常,但不更新任何数据库中的数据,第三次抛出异常,说明事务已经提交,就好像应用服务器JTA事务管理器保持原始事务上下文一样。请注意,这3个调用是独立的和连续的,其中每个调用都在客户端退出客户端进程时完成。问题是非常一致的,每次我重新启动应用程序服务器时都会以完全相同的顺序出现Jpa ejb3-using-2-persistence-units-in-a-transaction,jpa,jakarta-ee,weblogic,jta,java-ee-5,Jpa,Jakarta Ee,Weblogic,Jta,Java Ee 5,我在使用以下技术堆栈从同一事务中连接到2个持久性单元时遇到问题 WLS10.3.x、Eclipselink 2.1、Oracle11gJDBC驱动程序、Informix10JDBC驱动程序 使用来自此的输入,我使oracle数据源XA兼容,Informix ds模拟2阶段提交,然后开始工作。然而,现在我遇到了一个奇怪的问题 我使用独立java客户机来调用EJB3SLSB,它反过来调用JPA实体。我面临的问题是,它第一次工作,第二次不抛出任何异常,但不更新任何数据库中的数据,第三次抛出异常,说明事
感谢任何意见 请展示您的持久性XML,并说明哪个数据源是XAOracle是XA,Informix是非XA。Persistence.xml内容如下。
<persistence-unit name="TopLinkDB" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/oracleDS</jta-data-source>
<class>com.home.domain.Property</class>
<properties>
<property name="eclipselink.target-server" value="WebLogic_10" />
</properties>
</persistence-unit>
<persistence-unit name="TopLinkINFO" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/infoDS</jta-data-source>
<class>com.home.domain.GlobalNumber</class>
<properties>
<property name="eclipselink.target-server" value="WebLogic_10" />
</properties>
</persistence-unit>