activiti第二天: 3.排他网关(ExclusiveGateWay)

项目: itcast0711 > cn.itcast.g_exclusiveGateWay
排他网关: 分支, 通过连线的流程变量, 判断执行哪条连线, 如果条件不符合, 会执行默认的连线, 注意: 只会执行分支中的一个流程(即执行对象只有一个).

一. 设计流程图

  1. 流程图基本属性(key,name)以及各任务节点的属性配置与上一节类似, 不再赘述.
  2. 任务节点连线属性配置(id,name,条件)与上一节类似, 除了其中默认连线有些改动

activiti第二天: 3.排他网关(ExclusiveGateWay)_第1张图片
3. 排他网关配置
    : 下面图片批注有误, 对应的应当是连线的id属性
activiti第二天: 3.排他网关(ExclusiveGateWay)_第2张图片

二. 完成任务, 设置流程变量,控制流程走向

	/**完成我的任务, 设置流程变量值, 控制流程走向*/
	@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);
	}

你可能感兴趣的:(activiti,工作流)