我正在尝试用两个不同的数据库实现一个事务
我目前为每个数据库都有一个持久性单元,并且希望在同一事务中,在模式SA上存在的表a上进行写入,在模式SB上的表B上进行写入。
我正在使用weblogic和eclipselink。
我搜索了一些,但没有发现在同一事务上使用多个持久性单元的示例。
有人能告诉我做这件事的正确方法吗?
谢谢
发现,这应该使用XA数据源来实现
每个持久化单元都应该使用XA数据源,然后参与两阶段提交。
我现在有:
- 2个带有驱动程序的数据源:oracle.jdbc.xa.client.OracleXADataSource以及登录两个数据库的凭据
- 每个持久性单元是在ejb门面上调用的,而那些ejb门面是在全球交易