Messages between pools in Collaboration Diagram

533 views
Skip to first unread message

mart...@gmail.com

unread,
Mar 14, 2014, 9:33:15 AM3/14/14
to camunda-...@googlegroups.com
Hi!


I am developing a Collaboration Diagram with Eclipse. It contains 5 pools. I would like to model several messages between the pools, and then deploying in Camunda to see the messages between the different process. I have deeply searched on the Internet but I have not found any tutorial explaining how to do that. All of them are more focused on simple diagrams with a unique process, but not on the interactions between two or more processes.

The only thing that I have thought is to use Service Tasks which delegates on Sockets, in order to stablish the communications. However, I would like to use Receive tasks, or message events, but they do not allow Java Delegate.

Thank you so much in advance.

Christian Lipphardt

unread,
Mar 14, 2014, 11:03:27 AM3/14/14
to camunda-...@googlegroups.com, mart...@gmail.com
Hi,

When you model a collaboration diagram and deploy it to the engine, it does the following:

- for each executable pool, a process definition will be created
- you can use Send tasks / throwing message events (both allow usage of JavaDelegate) to trigger the other processes which are using Receive tasks / catching message events to listen for the corresponding messages. However, this works currently only with JTA because usage of process engine api services (RuntimeService etc) is not recommended, they are not working 100% of the time when used inside delegates.

See
http://docs.camunda.org/latest/api-references/bpmn20/#tasks-receive-task
http://docs.camunda.org/latest/api-references/bpmn20/#tasks-send-task
http://docs.camunda.org/latest/api-references/bpmn20/#events-message-events
http://docs.camunda.org/latest/api-references/bpmn20/#events-message-events-message-intermediate-throwing-event
for how to use the messaging.

Cheers,
Christian

mart...@gmail.com

unread,
Mar 18, 2014, 4:47:20 AM3/18/14
to camunda-...@googlegroups.com, mart...@gmail.com
OK, thank you so much Christian.

But in those links (for example in Receive Task) RuntimeService is used. Should I not use it? Is there any documentation, or example, to use JTA with Camunda?
Just a little example, with one pool sending a message to another one.


Thank you very much again,


Greetings,


Marta

webcyberrob

unread,
Mar 18, 2014, 6:35:47 AM3/18/14
to camunda-...@googlegroups.com, mart...@gmail.com
Hi Marta,

Have a look at the two threads below which reference some inter process communication examples... Perhaps these are of use.

Reply all
Reply to author
Forward
0 new messages