camunda 工作流学习笔记2 - 任务的多实例特性(Multiple Instance)
1. 背景
在工作流中会有遇到这样一个"多个人处理同一个任务“的情形,在 camunda 中可以使用“任务的多实例”来实现。
比如遇到下面的场景:
这时,可考虑使用“任务的多实例”
任务的多实例( Multiple Instance ):即一个任务task 可被多人顺序或并行处理。
多实例活动是将 “流程中的某个步骤” 定义为“
重复执行
” 的一种方式。
在编程概念中,多实例可以被遍历 执行( for each ) :它允许对给定集合中的每个子项 “ 依次 ” 或 “ 并行 ” 执行某个步骤。它定义了额外的属性(所谓的multi-instance characteristics),这将导致活动在运行时 “被多次执行”。
如果“ 任务 ”是多实例的,则在“ 任务 ” 底部用
三条短线
表示。
三个垂直线
表示实例将并行执行,而三个水平线表示顺序执行。
Element Variable:写一个变量名,它表示遍历上面的集合元素使用的标识。
然后就可以使用变量 ${ 变量名 } 了。
另外记得在启动流程时,传入这个变量 managers 的具体值,变量的值是一个数组,就完整了。
可属性 Completion condition 指示任务的完成条件。
Completion condition:完成条件。可选。比如设置一个人完成后,那么其他人的代办任务都会消失。
先了解到,对于“多实例任务”, task 会自动生成以下几个流程变量:
那么,在 Completion condition 中 可以这么填写:
3.参考:
官网文档: https://docs.camunda.org/manual/7.15/reference/bpmn20/tasks/task-markers/