我使用 WSO2 BPS 开发了一个 BPEL 工作流。该工作流有两个事件处理程序,用于两种不同类型的事件。
如果工作流按顺序接收(不同类型的)两个事件,则工作流可以正常工作。但是,如果有两个事件同时到达,似乎其中一个已被处理,另一个必须等待,然后我看到一个超时异常(等待事件)。
任何机构有这方面的经验?有什么解决方案可以同时处理这两个事件吗?
事件处理程序:
<bpel:onEvent messageType="ws-dpalert:pushIn" operation="pushAlert" partnerLink="alertCallbackEvent" portType="ws-dpalert:PushPortType" variable="alertMessage">
<bpel:correlations>
<bpel:correlation initiate="no" set="correlator"/>
</bpel:correlations>
<bpel:scope name="onlertMessages">
<bpel:sequence name="alertProcessing">
...........
</bpel:sequence>
</bpel:scope>
</bpel:onEvent>
谢谢,
明三。
我的事件处理程序是:
.....................
</bpel:sequence>
</bpel:scope>
</bpel:onEvent>
<bpel:onEvent messageType="ws-dpalert:pushIn" operation="pushAlert" partnerLink="alertCallbackEvent" portType="ws-dpalert:PushPortType" variable="alertMessage">
<bpel:correlations>
<bpel:correlation initiate="no" set="correlator"/>
</bpel:correlations>
<bpel:scope name="onlertMessages">
<bpel:sequence name="alertProcessing">
...........
</bpel:sequence>
</bpel:scope>
</bpel:onEvent>