Send message between events

Hello everybody.
As you can see in the figure, I tried to link two message events (from throwing end event to catch intermediate one).

The problem is that, even if I have changed from the modeler the details of both message event (and so I put the same “Message Name” in those two events), the process instance remains blocked at the intermediate catch event. Notice that both tasks “T1” and “T2” are completed.
Can this type of process pass through the intermediate event without using programming codes but just using the modeler? So, in this case, I can continue working with the task “T3”?

1 Like

You need to execute a throwing of a message. A message does not correlate own it’s own. Use this as a starting point: Support for Script Implementation on Messages Events

Hi @Giu,

I try to run the exact same workflow as the one you show on the screenshot. I don’t know how to implement the Intermediate Throw Event in correlation with the Intermediate Catch Event.

Have you managed to make it work?

Thanks for your help.

@JeanPascalR did you review the example I had posted ?

Hi @StephenOTT,

Yes but it is different. In the example you posted, the event reveiver is a Message Start Event (which works well) but not a Intermediate Catch Event.

I managed to run the Message Start Event by calling:
runtimeService.startProcessInstanceByMessage("the_message");

But I have no idea how to send a message to an Intermediate Catch Event.

The example I provided in the first thread has the code snippet you want. It creates a message correlation.

I set the implementation of the Throw Event as an Expression and set the code snippet you provided:
${execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation("event_test").correlateWithResult()}

Here is the exception that is thrown by Camuna:

org.camunda.bpm.engine.MismatchingMessageCorrelationException: Cannot correlate message 'event_test': No process definition or execution matches the parameters

The message “event_test” is declared in the Intermediate Catch Event though.

Your second process (the one with the catch) is waiting at the catch event ?

Yes exactly:

Can you show a picture of your two process?

I found the same error on the forum here:

I have the same configuration: two processes triggering each other:

I found a solution: setting the first Intermediate Throw Event as asynchronous. Everything work well.

I am also facing same issue with scenario, please can you tell me how to send a message to intermediate message event, because for me it is just getting stuck, and not reaching to T3. if there is something can be done from Java side then also I have no issues, just I want to make process work.