Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa ejb3-using-2-persistence-units-in-a-transaction_Jpa_Jakarta Ee_Weblogic_Jta_Java Ee 5 - Fatal编程技术网

Jpa ejb3-using-2-persistence-units-in-a-transaction

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实体。我面临的问题是,它第一次工作,第二次不抛出任何异常,但不更新任何数据库中的数据,第三次抛出异常,说明事

我在使用以下技术堆栈从同一事务中连接到2个持久性单元时遇到问题

WLS10.3.x、Eclipselink 2.1、Oracle11gJDBC驱动程序、Informix10JDBC驱动程序

使用来自此的输入,我使oracle数据源XA兼容,Informix ds模拟2阶段提交,然后开始工作。然而,现在我遇到了一个奇怪的问题

我使用独立java客户机来调用EJB3SLSB,它反过来调用JPA实体。我面临的问题是,它第一次工作,第二次不抛出任何异常,但不更新任何数据库中的数据,第三次抛出异常,说明事务已经提交,就好像应用服务器JTA事务管理器保持原始事务上下文一样。请注意,这3个调用是独立的和连续的,其中每个调用都在客户端退出客户端进程时完成。问题是非常一致的,每次我重新启动应用程序服务器时都会以完全相同的顺序出现


感谢任何意见

请展示您的持久性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>