0

我在将 DB 适配器轮询器与 SQLServer 一起使用时确实遇到了问题。以下步骤描述了我的设置。

  1. DB 适配器配置了 SQLServer,每 15 秒轮询一次。

  2. BPEL 流程接收轮询记录并更新另一个 db(oracle)

  3. oracle 和 sqlserver(带有所需的 SP)都配置了 XA 数据源

  4. 两个出站连接的 db 适配器数据源都设置为 xa

  5. bpel.config.transcation 设置为必需

产品版本:11.1.1.7

在数据源事务选项卡中选中“设置 XA 事务超时”。

问题:当 oracle 数据库不可用时,我从 BPEL 流程中抛出回滚异常,但更改已在 sqlserver 上提交。

我已经为 FINEST(32) 启用了 oracle.soa.adapter 的日志配置,并发现提交是在流程完成之前在内部完成的。

以下是完整的跟踪链接

https://community.oracle.com/thread/3585747

4

1 回答 1

1

您不能使用不同的集成策略吗?也许基于事件,使用同步 Web 服务。

众所周知,Bpel 数据库适配器(特别是轮询)包含一些错误,并且在高负载下表现不佳。

于 2015-06-18T18:40:13.033 回答