Cross-process synchronization in Camunda?

2019-09-07 19:53发布

问题:

What cross-process synchronization schemes should be used in the Camunda? Is it possible to implement something like CountDownLatch where the synchronization is being used between different bpm processes? It seems that because of the correlation messages are always synchronous, I can't put a receive task/intermediate catch event in a latch process definition so that latch client processes would correlate on the task/event when they want to join the latch synchronization block (if I try, concurrent transactions on the same objects appear, resulting in OptimisticLockingExceptions).

EDIT

Use case: I have a credit issuance process which could participate in a credit group, which in it's turn means that after certain task in the model each process from the group could proceed only after every other member from the same group is also finished that certain task. My current solution is to run a dedicated process per group which has a schedule to check every minute if all group members (processes) are in a certain intermediate catch event. If so, the group process sends the event to group members, so everyone can proceed then.