在WSO2 BPEL中处理并发事件时出错
我使用WSO2 BPS开发了一个BPEL工作流。该工作流有两个用于两种不同类型事件的事件处理程序在WSO2 BPEL中处理并发事件时出错,wso2,wso2carbon,bpel,Wso2,Wso2carbon,Bpel,我使用WSO2 BPS开发了一个BPEL工作流。该工作流有两个用于两种不同类型事件的事件处理程序 </bpel:sequence> </bpel:scope> </bpel:onEvent> <bpel:onEvent messageType="ws-dpalert:pushIn" operation="pushAlert" partnerLink="alertCallbackEvent" port
</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>
如果工作流按顺序接收两个事件(属于不同类型),则工作流工作正常。但是,如果有两个事件同时到达,似乎其中一个已处理,另一个必须等待,然后我看到一个超时异常(对于等待事件)
</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>
有人有过这样的经历吗?有没有办法让这两个事件同时处理
</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>
事件处理程序:
<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>
...........
谢谢
</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>
明三
</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>
我的事件处理程序是:
</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>
....................
</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>
...........
您可以发布事件处理程序吗?
</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>