Message Event

Hi @Niall

In the attached diagram, I used the same message name “CallNiall” for parallel intermediary catch events.

Screenshot 2021-01-04 203854

I get the following error:

{

"type": "RestException",
"message": "org.camunda.bpm.engine.MismatchingMessageCorrelationException: ENGINE-13031 Cannot correlate a message with name 'CallbackCompleted' to a single execution. 2 executions match the correlation keys: CorrelationSet [businessKey=dfdchzxc7546476hbhjdc, processInstanceId=null, processDefinitionId=null, correlationKeys=null, localCorrelationKeys=null, tenantId=null, isTenantIdSet=false]"

}

Why this Q? - I have a business use case where I have an event-based non-interrupting subprocess that starts with the same message (say CallX) which is also available in the main workflow in the same process def

also, Camunda provides an option to select the same message in a given process definition, this was my first trigger to dig deeper and test. Thanks.

A part of the BPMN standard a message throw event will only be cause by a single recipient, you’re getting the error because more than one waiting message event could receive the message and so it violates this rule.

There are lots of ways to implement what you’re trying to do - like using different message names or using a signal event (which is designed to be received by 0 -> n recipients.)

1 Like