How can we implement the intermediate catch event with parallel gateway implementation

Hi ,

I have a process with parallel gateways running similar service tasks(connector tasks) .Each of them once triggered moves to the next intemediate catch event and starts waiting.
But since the processDefinition/workflow is having only one unique messageName/ID ,how would the catch event be triggered .I will try to trigger both the events which is not desired.
Is there any other way to implement this?

Thanks ,
Albin

Hi Albin,

Could you please share an example of your process, it would be easier for us to understand better your scenario.
For now for me it is not clear what are you trying to achieve.

Best regards,
Yana

Hi @yana.vasileva ,

Attaching the sample scenario which i need to implement.
When I start the process both the catchEvents would be waiting and the rest api(engine-rest/message) would be triggered by using the messageName and BusinessKey…which is the same for both the events.How would I distinguish and trigger only the one which was intended to be triggered at that time.?

.parallel_GatewaySample.bpmn (11.4 KB)
parallel_GatewaySample

Regards,
Albin

Hi Albin,

  1. It is quite strange that you’re talking about parallel gateway which does not present in your process.
    If you want to take advantage of the parallel gateway your process needs to be change to:

    Also it is better to have a gateway when you have two (or more) flows incoming/outgoing to an element.
  2. Back to the initial question: Why do you need the same message name for both of the message if they are trigger in different moments? What is your use case? Maybe you can setup different message names.
    Other than that, you can check correlationKeys/localCorrelationKeys. The engine will correlates the message such that the process instance has the provided (local) variables.

Best regards,
Yana

2 Likes

Thanks @yana.vasileva,

Sorry for the wrong model attached above.
So it’s possible to have multiple message names inside a single process definition…?
Could you please share any example of the same.

Thanks,
Albin

Hi Albin,

Yes, it is possible.
Here is the docs page - Message Events | docs.camunda.org
An example with diagram of our tests - example1
Another example without digram - example2
However you can try it with your process by setting up the following:


Hope this helps.

Best regards,
Yana

1 Like