Exclusive merge

BMN definition :

BPMN uses the term ‘merge’ to refer to a point in the process where two or more alternative sequence flow paths are combined into one sequence flow path. Source

Our Context :

My question :
How can we implement a exclusive merge at the “Red Gaetway”?

The “Token Simulation plugin” shows that the merge is not exclusive:

Hi @camunda_beginner,

It is exclusive merge, so once an execution arraives at gateway from any of incoming flows, process continues past the gateway.

In the above model, we have a parallel split with no symmetric parallel join so two executions can arraive at the exclusive merge at different times and since it is exclusive merge, then process continues past the gateway as an execution arraives at it so we ending up having two tokens following this gateway.


1 Like

Thanks for your response .
So how we can resolve this business problem :

Give the user the possibility (as a Plan B) to avoid waiting by going directly from ST1 to ST2

Hi @camunda_beginner,

Below is a simplified model.

Kindly find attached a running example
msg-event-sub-process.bpmn (15.5 KB)

1 Like

Hi @camunda_beginner,

Below are some details related to the attached example

  • Both variables “jobCompleted” and “continued” are initialized to false.

  • An intermediate throw message is used to start the automated work “job” and let execution immediately continues to the join gateway.

  • An event sub-process with a non-interrupting start message is used to implement the automated work.

  • “jobCompleted” variable is set to true at the end of automated work.

  • An interrupting conditional boundary event is attached to “Task 2” so when the condition “jobCompleted == true” is satisfied then the task is canceled “if it is active”.

  • If the user decides not to continue and the automated work is not completed yet then execution will stay at conditional intermediate catch event until work is completed.