Hi Frank, After having discussion with Nandika, Chathura and Amal, it was decided not to support multiple receiving message events in parallel.
Therefore we will be removing the query attribute "*activityId*" from the request message. Regards, Firzhan -- *Firzhan Naqash* Senior Software Engineer - Integration Platform Team WSO2 Inc. http://wso2.com email: firz...@wso2.com mobile: (+94) 77 9785674 <%28%2B94%29%2071%205247551>*| blog: http://firzhanblogger.blogspot.com/ <http://firzhanblogger.blogspot.com/> <http://suhothayan.blogspot.com/>* *twitter: https://twitter.com/firzhan007 <https://twitter.com/firzhan007> | linked-in: **https://www.linkedin.com/in/firzhan <https://www.linkedin.com/in/firzhan>* On Mon, Dec 21, 2015 at 7:21 PM, Firzhan Naqash <firz...@wso2.com> wrote: > > > Hi Frank, > > Please find my comments inline. > > The process model you have drawn enables multiple receiving message events > in parallel. According to the BPMN 2.0 spec this is not allowed for > key-based correlation (i.e. the correlation mechanism similar to BPEL > correlation sets); but it is allowed for predicate based correlation (often > used in collaborations). I assume that we are not dealing with > collaborations here. Thus, only one of the events/tasks will receive the > message - you see mainly two ways in which this is handled by an engine, > (i) the engine randomly assigns the message, or (ii) a runtime error > occurs. Not sure what our implementation does > > > Yeah. When we enable multiple message receiving events in parallel, BPMN > engine will throw an error. But when you provide the activity id ( Unique > id that we use in the process definition model to identify an > event receiver) along with the message, BPMN engine can determine the event > receiver to be executed. On the other hand, if we have only single > message receiving event, we don't have to provide the activity id. > > > Why are the correlation-keys not sufficient? When a process is > instantiated it gets tightly coupled with a process model, i.e. a version > of a certain process model; and all correlation-keys associated with that > instance are coupled with that version. > > > Exactly, we apply the correlation-keys to identify the process instances. > But in addition to that clients can use the *processInstanceVariables* > variable > to add/update their user-defined/business variables to the process instance > during the process instance execution and it's not being used to filter > out the process instances. > > > Regards, > Firzhan > > > >
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture