we are evaluating Activiti as engine for next project developed in our company. I'm new, so my question may be a little bit silly. I don't understand what are the rules of execution creation?
On attached image I show part of my BPMN process. Execution ids are given for each serviceTask. First question: why modifyParty block is executed in separate execution? For me it causes variables scopes problem - result of this serviceTask must be saved in execution local scope. Because new execution is created - result is lost.
Secondly: after modifyParty block I start subProcess for processing each item in contracts collection (in multi instance way). Same question as earlier - why transferService block is executed in new execution instance and not within same as "Set contract to PROCESSING" and "Set contract to WAITING". Following message-catch event also created new execution.
Can't find edit option: I see that execution creation is related with boundary error event - when I removed it modifyParty serviceTask did not create new execution. Why those two are related so close?
That service task has a boundary event: the execution is created to denote the scope for the event. It doesn't make sens you have to use setVariableLocal, regular setVariable should work. Do you have a unit test demonstrating this wioth this process?
Same answer for your second question: that is to denote the scope of where something is applicable.