配置活动以进行多实例循环

通过多实例循环,您可以以顺序或并行方式动态运行同一活动的多个唯一实例。 运行为多实例循环配置的活动时,为活动的每个实例创建唯一的标记。

准备工作

有关循环类型及其限制的信息,请参阅 为活动创建循环

过程

要配置活动以进行多实例循环,请执行以下步骤。

  1. 打开流程并选择要配置的活动。
  2. 在属性中,选择 常规
  3. 展开 循环 ,然后从 循环类型 列表中选择 多实例循环
  4. 设置 开始数量的值。
    该值设置在运行时创建的实例数。 要指定可用于此设置的变量,请单击变量图标以将其选定,或者将变量名输入到启动数量框中。
    注: 有关如何使每个循环活动实例与列表中的特定项相关联的信息,请参阅 使循环活动实例与不同项相关联
    .
  5. 排序 列表中,选择下列其中一个选项:
    选项 描述
    按顺序运行 生成的实例按顺序运行,直至完成活动的最后一个实例为止。
    并行运行 生成的实例同时运行,直至所有实例都已完成或者满足指定条件为止。
  6. 对于并行排序,请从 流条件 列表中选择下列其中一个选项:
    选项 描述
    等待全部完成(所有) 循环将继续,直到完成所有生成的活动实例。
    有条件等待(复杂) 循环将继续,直到满足在下一步中指定的条件。
  7. 对于复杂流条件,请在 复杂流条件 框中输入 JavaScript 以实现该条件。

    运行时,如果具有复杂条件的多实例循环求值为 false,那么将关闭活动实例并且不会移至下一个活动。 这是缺省行为,因为 BPMN 2.0 规范(第 13.2.7 条:多实例活动)不提供 false 求值的指南。 要使标记前进至下一个活动,请使用 OR 布尔表达式。

  8. 如果您希望在满足上述条件时取消活动的活动实例,请选择 取消剩余实例
    多实例循环的运行时行为取决于其任务的实施方式。 该行为在任务内容仅包含服务器脚本时和同时还包含服务时是不同的。 例如,如果某个循环的排序选择为并行运行,包含有效的复杂流条件,取消剩余实例设置为 true,那么该循环将按如下所示运行:
    • 循环内容仅包含服务器脚本:如果仅在多实例循环任务内容中指定服务器脚本,那么循环的各种实例将按顺序运行。 因此,所有实例将按顺序运行到结束,在所有任务实例结束时,将按顺序验证出口条件。
    • 循环内容包含人员服务、决策服务或系统服务:如果循环任务内容包含人员服务、决策服务或系统服务,那么任务将在其自己的线程中并行实例化。 以系统服务为例,如果设置了出口条件,那么在完成系统服务任务后,结果会返回给多实例循环。 然后,会评估该条件,并完成多实例循环任务,该任务将结束所有其他仍在运行的循环实例。
  9. 单击 保存完成编辑
    有关为客户端人类服务声明变量的详情,请参阅声明变量