Intermediate Message events

Hi,

I have few questions on Intermediate Message events:

  1. Is external implementation of Intermediate Message throwing event same as “external service task” implementation? Is there any example implementation of this? For external Serivce task, we used External-task-client API . Will the same API work for this too?

2)Is there anyway to implement Simple javascript for Intermediate message throwing events? For example, if we want to send a mail to someone , all that code has to be written in delegate/external service itself?

Thanks,
Sindhu.

  1. No, it works very differently - you can check out this tutorial to learn more.
  2. You can indeed. something like this would work (although i haven’t tried to run it)
var message = execution.getVariable('messageName');
var businessKey = execution.getVariable('businessKey');

execution.getProcessEngineServices().getRuntimeService()
    .createMessageCorrelation(message)
    .processInstanceBusinessKey(businessKey)
    .correlate();

Hi @Niall , i have gone through the tutorial already. Great one. Thanks.
But my question is, if the implemetation is chosen as external , i see a “topic” name in the configuration. So, the way this will be picked up is same as the way external service task is picked up by a worker? or there is different api to pick up external - intermediate message throwing events?

2.So, the implementation you mentioned can be written in execution listener of the event or all of this can be accommodated in expression itself?

Thanks,
Sindhu.

Ahhh - i see now, sorry.

  1. indeed if you wanted to you could have the implementation part of sending a message in an external task, that wouldn’t be a problem. It would mean using the REST API to send the message to the engine from the external task.
  2. You could indeed use that script as an execution listener.
1 Like