0

我正在尝试使用 2 个不同的数据库实现事务。
我目前为每个数据库都有一个持久性单元,并且想在同一个事务上写入模式 SA 上存在的表 A 并写入模式 SB 上的表 B 上。

我正在使用 weblogic 和 eclipselink。

我进行了一些搜索,但没有发现在同一事务上使用多个持久性单元的示例。

有人可以告诉我这样做的正确方法吗?

谢谢你

4

1 回答 1

0

发现,这应该使用 XA 数据源来实现。
每个持久性单元都应使用 XA 数据源,然后参与两阶段提交。

我现在有:

  • 2 个带驱动程序的数据源:oracle.jdbc.xa.client.OracleXADataSource 和登录两个数据库的凭据
  • 每个持久性单元都在一个 ejb 外观上调用,而这些 ejb 外观在全局事务上调用。
于 2012-11-16T15:18:27.220 回答