Activiti中针对多实例案例的执行树结构

时间:2019-06-16 07:57:51

标签: activiti

在我的流程定义中,我的结构如下:

<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef">
<process id="MyProcessDefinitoon" name="MyProcessDefinitoon" isExecutable="true">
    <documentation>Dummy documentation</documentation>
    <startEvent id="startEvent1" name="StartProcess"></startEvent>
    <subProcess id="MySubprocessId" name="MySubprocess">
        <multiInstanceLoopCharacteristics isSequential="false"></multiInstanceLoopCharacteristics>
        <userTask id="MyUserTaskId" name="MyUserTask" activiti:candidateGroups="dummyGroups">
        .........
        .........
        </userTask>
    </subProcess>
</process>

流程可以有多个子流程。

当我使用2个子流程的输入启动流程实例时,将得到以下树形结构用于执行。

enter image description here

可以看出,系统中有6次执行。我无法将其与上面定义的流程定义结构相关。

我希望有3次处决。首先执行代表流程实例,然后分支出两个子流程。

但是按照树形结构来看,似乎start事件也表示执行。如果是这样,我可以接受。

但是我无法解读其他两个死刑。看来用户任务也代表执行。我印象深刻的是,用户任务是执行的一部分,而不是执行本身。

我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

a是您主要执行的过程。

在多实例子流程的情况下,开始事件和结束事件被触发n + 1次。因此,子流程实例有一个环绕的执行(b)。 然后,您有n = 2个子流程实例的两个执行(c,d),并且都包含一个具有自己的本地执行范围(e,f)的用户任务。