我在将 DB 适配器轮询器与 SQLServer 一起使用时确实遇到了问题。以下步骤描述了我的设置。
DB 适配器配置了 SQLServer,每 15 秒轮询一次。
BPEL 流程接收轮询记录并更新另一个 db(oracle)
oracle 和 sqlserver(带有所需的 SP)都配置了 XA 数据源
两个出站连接的 db 适配器数据源都设置为 xa
bpel.config.transcation 设置为必需
产品版本:11.1.1.7
在数据源事务选项卡中选中“设置 XA 事务超时”。
问题:当 oracle 数据库不可用时,我从 BPEL 流程中抛出回滚异常,但更改已在 sqlserver 上提交。
我已经为 FINEST(32) 启用了 oracle.soa.adapter 的日志配置,并发现提交是在流程完成之前在内部完成的。
以下是完整的跟踪链接