老师您好,多实例嵌套子流程有没有xml参考一下呢?我用flowable配置后总是生成2条重复待办任务,找不到原因
时间: 2024-09-20 17:01:28 浏览: 32
在Flowable中,多实例嵌套子流程通常用于创建一个实例时启动多个独立的子流程实例。如果配置不当可能会导致重复的待办任务。这可能是因为你在子流程中没有设置正确的引用或者并发策略有问题。这里有一个基本的XML示例,展示了如何嵌套子流程:
```xml
<process id="parentProcess" name="父流程">
<startEvent id="startEvent" />
<subProcess id="childSubProcess" name="子流程实例">
<multiInstanceLoopCharacteristics isSequential="false"> <!-- 设置成非顺序 -->
<loopCardinality>5</loopCardinality> <!-- 每次实例化的次数 -->
<collectionElement>
<userTask id="taskInChild" name="子流程任务" /> <!-- 子流程内的任务 -->
</collectionElement>
</multiInstanceLoopCharacteristics>
<userTask id="endSubProcess" name="子流程结束" /> <!-- 子流程结束后返回到父流程 -->
</subProcess>
<sequenceFlow id="toChild" sourceRef="startEvent" targetRef="childSubProcess" />
<sequenceFlow id="fromChild" sourceRef="endSubProcess" targetRef="parentEnd" /> <!-- 子流程结束后的连接点 -->
<endEvent id="parentEnd" />
</process>
```
在这个例子中,每创建一次`parentProcess`实例,就会启动5个`childSubProcess`的实例。每个`childSubProcess`实例有5个任务`taskInChild`。
如果你遇到重复待办任务的问题,可能是以下几个原因:
1. `multiInstanceLoopCharacteristics`配置错误,如默认的并发级别过高或顺序模式开启可能导致重复实例。
2. 子流程的结束事件没有正确关联回父流程。
3. 子流程内部可能还有并发执行的任务,需要确保它们不会生成多余的待办任务。
检查你的实际配置是否包含上述内容,并确认任务的分配策略、实例化策略等设置是否符合预期。如果有问题,提供更详细的配置信息以便进一步诊断。
阅读全文