同一事务上的多个持久性单元

时间:2012-11-13 18:02:08

标签: persistence-unit

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

我正在使用weblogic和eclipselink。

我搜索了一下,但没有找到在同一个事务中使用多个持久性单元的示例。

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

我现在有:

  • 带有驱动程序的2个数据源:oracle.jdbc.xa.client.OracleXADataSource 以及在两个数据库上登录的凭据
  • 每个持久性 在ejb外观上调用单位,并调用那些ejb外墙 全球交易。