未找到关联时 WSO2 BPS BPEL 超时

WSO2 BPS BPEL Timeout when correlation not found

使用 WSO2 BPS 3.6.0 - 我们有一项服务可以通知 运行 BPEL 流程有关事件的信息。

Util 过程是 运行,它运行良好(使用相关性)。但是当该过程已经完成时,请求没有得到任何响应。如果可以引发异常,我没问题,但没有得到任何回应是很烦人的。如果没有具有特定关联的(活动)实例,是否有快速失败的方法?

编辑:receive、pick 和 onEvent 活动实际上以相同的方式运行

提前致谢

Apache ODE 旨在对提前到达的传入消息进行排队。

示例:流程

接收 1 -> 接收 2 -> 接收 3 -> 回复 3

Receive1:创建实例并启动关联。

Receive2:实例正在等待消息到达。

但是,Receive3 上的消息比 Receive2 早到达,因此被排入队列。因为后面的activity是Reply3,所以是同步调用,通道会超时等待响应。

Receive2 到达后,引擎会看到 Receive3 的消息已经到达并完成实例。

现在,如果另一条消息到达 Receive3 时具有相同的相关值,它会再次排队以供将来在将使用相同相关值创建的新实例上使用。因此不会报告任何错误。

注意:这是 Apache ODE 的行为,除非 WSO2 改变了这个行为。