项目: itcast0711 > cn.itcast.g_exclusiveGateWay
排他网关: 分支, 通过连线的流程变量, 判断执行哪条连线, 如果条件不符合, 会执行默认的连线, 注意: 只会执行分支中的一个流程(即执行对象只有一个).
一. 设计流程图
- 流程图基本属性(key,name)以及各任务节点的属性配置与上一节类似, 不再赘述.
- 任务节点连线属性配置(id,name,条件)与上一节类似, 除了其中默认连线有些改动
3. 排他网关配置
注: 下面图片批注有误, 对应的应当是连线的id属性
二. 完成任务, 设置流程变量,控制流程走向
/**完成我的任务, 设置流程变量值, 控制流程走向*/
@Test
public void completeMyPersonalTask(){
//任务ID
String taskId = "3904";
//完成任务的同时,设置流程变量,使用流程变量用来指定完成任务后,下一个连线,对应exclusiveGateWay.bpmn文件中连线条件${money<=500}
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("money", 200);
processEngine.getTaskService()//与正在执行的任务管理相关的Service
.complete(taskId,variables);
System.out.println("完成任务:任务ID:"+taskId);
}