For some reason, even after setting the <multiInstanceLoopCharacteristics isSequential="false">, the service task is executing in serial mode. Below is my process definition. Not sure if this is a bug:
<process name="testProcess" id="testProcess" isExecutable="false"> <startEvent id="testStart" name="Start Of Business Process" /> <sequenceFlow id="testactiviti1" sourceRef="testStart" targetRef="testactivitiimpl1" /> <serviceTask id="testactivitiimpl1" name="testactivitiimpl1" activiti:class="com.cnsi.semhie.junit.testcases.TestActiviti1" /> <sequenceFlow sourceRef="testactivitiimpl1" targetRef="test_activiti_connector"> </sequenceFlow> <serviceTask id="test_activiti_connector" name="test_activiti_connector" activiti:class="com.cnsi.semhie.junit.testcases.Tester" /> <sequenceFlow sourceRef="test_activiti_connector" targetRef="testactiviti2"> </sequenceFlow> <!–userTask id="useractiviti1" name="Waiting For Query For Documents Request"> <documentation>Waiting for the query for documents request </documentation> <potentialOwner> <resourceAssignmentExpression> <formalExpression>ExternalGateway</formalExpression> </resourceAssignmentExpression> </potentialOwner> </userTask > <sequenceFlow sourceRef="useractiviti1" targetRef="testactiviti2" / –> <serviceTask id="testactiviti2" name="testactiviti2" activiti:class="com.cnsi.semhie.junit.testcases.TestActiviti2"> <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="${nodes}" activiti:elementVariable="node"> </multiInstanceLoopCharacteristics> </serviceTask> <sequenceFlow sourceRef="testactiviti2" targetRef="testEnd" /> <endEvent id="testEnd" name="End Of Business Process" /> </process> <process name="testsubProcess" id="testsubProcess" isExecutable="false"> </process>
This works similar as the parallel gateway. So the service task for which you defined the multi instance config are still executed in sequence. If you have user tasks or other wait state tasks, for example in a sub process with multi instance config, the sequential attribute does actually mean something.