Hi i'm back with some delay.
My question is: can the process engine handle message correlation automaticaly in according to BPMN 2.0 spec (section 8.3.2)? or i must to handle message correlation externaly to proccess engine?
Let me explain, i have understood that a process can wait a message by a intermediate catch message event or by a receive task.
In the first case my application can signal the arrival of message by only
ksession.signalEvent("Message-<messageId>",message,processInstanceId)
because if i use
ksession.signalEvent("Message-<messageId>",message)
only the start (and not the intermediate catch) message event is triggered
In second case my application can signal the arrival of message by
ksession.getWorkingItemManager().completeTask(workItem.getId(),mapThatContainsTheMessage)
it is correct?
then, if my application needs to be aware of the process id or the workItemId for signaling the arrival of a message when the correlationProperty come into play?
another question is: what is the difference at the conceptual level from intermediate catch message event and receive task? when is appropriate to use one rather than other?
Best regards