Hi,

Currently we are in the process of implementing the correlation support for
for BPMN process instances.

This correlation request will resume the execution of a particular process
instance based on the provided variable values.

Correlation request can be accessed by using following json request ( XML
also supported )


POST https://localhost:9443/bpmn/runtime/recieve

{
  "processDefinitionKey":"oneTaskProcess",

  "activityId": "messageintermediatecatchevent3",
  "messageName":"startMessage",
  "signalName":"signalName",
  "action":"messageEventReceived",
  "messageName":"startMessage",
  "variables":
  [
    {
        "name" : "myVariable",
        "value" : 1234,
        "operation" : "equals",
        "type" : "long"
    }
  ],

  "correlationVariables":
  [
    {
        "name" : "myVariable",
        "value" : 1234,
        "type" : "long"
    }
  ],

  "processInstanceVariables":
  [
    {
        "name" : "processVariable",
        "value" : "some string",
        "operation" : "equals",
        "type" : "string"
    }
  ]


}


This json request consists following parameters.

*processDefinitionKey/processDefinitionId/messageName* (compulsory)

Either one relevant property out of three should be specified in the
request.

*activityId *(optional)

This property is required when there are more than one receivers waiting
for the same message/signal in different execution flows.



​​
In the above process flow,  all three or two of the execution flows might
be waiting for the same message.

*action *(compulsory)

actions can be either messageEventRecieved/signalEventRecieved/signal.

*signalName* (optional)

If we have any signal related actions, then *signalName* has to be
specified.


*variables* (optional)

This holds the task specific local variables that can be used to query and
filter the relevant process instances.

*processInstanceVariables* (optional)

All the instance variables except correlation variables can be mentioned
here.


*correlationVariables* (compulsory)

All the correlation variables should be mentioned here. By default it
performs the equal operation of that variables.

*variables* and *processInstanceVariables *can be used to speed up the
querying process and the correlation variables should be unique across the
process instances.

Any suggestions/ideas are welcome.

Regards,
Firzhan
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to