在WSO2 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

我使用WSO2 BPS开发了一个BPEL工作流。该工作流有两个用于两种不同类型事件的事件处理程序

                        </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>