简体   繁体   English

找不到相关性时,WSO2 BPS BPEL超时

[英]WSO2 BPS BPEL Timeout when correlation not found

Working with WSO2 BPS 3.6.0 - we have a service which notifies a running BPEL process about an event. 使用WSO2 BPS 3.6.0-我们有一项服务,用于向正在运行的BPEL流程通知事件。

Util the process is running, it is working great (using the correlation). 利用该进程的运行,它运行良好(使用关联)。 But when the process is already completed, the request doesn't get any response. 但是,当该过程已经完成时,请求不会得到任何响应。 I'm ok if an exception could be raised, but getting no response whatsoever is annoying. 如果可以引发异常,我很好,但是没有任何响应是令人讨厌的。 Is there a way to fail quickly if there's no (active) instance with the specific correlation? 如果没有(活动的)实例具有特定的相关性,是否可以快速失败?

Edit: effectively the receive, pick and onEvent activities behave the same way 编辑:有效地接收,选择和onEvent活动的行为方式相同

Thank you in advance 先感谢您

Apache ODE is designed to enqueue incoming messages that arrive early. Apache ODE旨在排队较早到达的传入消息。

Example: Process 示例:过程

Receive1 -> Receive2 -> Receive3 -> Reply3 接收1->接收2->接收3->回复3

Receive1: Creates an instance and initiates the correlation. Receive1:创建一个实例并启动关联。

Receive2: Instance is awaiting for the message to arrive. Receive2:实例正在等待消息到达。

But, message on Receive3 arrives early before Receive2 and hence gets enqueued. 但是,Receive3上的消息在Receive2之前提前到达,因此被排队。 Since the following activity is a Reply3, it's a synchronous call and the channel will timeout waiting for the response. 由于以下活动是Reply3,因此它是一个同步调用,并且该通道将超时等待响应。

Once the Receive2 arrives, the engines sees that message for Receive3 has already arrived and completes the instance. Receive2到达后,引擎将看到Receive3的消息已到达并完成实例。

Now if another message arrives on Receive3 with the same correlated value, it gets enqueued again for future consumption on a new instance that would be created with the same correlation value. 现在,如果另一条消息以相同的相关值到达Receive3,则该消息再次进入队列,以备将来使用具有相同相关值创建的新实例使用。 Hence No errors will be reported. 因此,不会报告任何错误。

Note: This is the behaviour of Apache ODE, unless WSO2 has changed this behavior. 注意:这是Apache ODE的行为,除非WSO2更改了此行为。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM