activiti流程变量的设置和获取
流程变量的作用域依赖于流程实例,也就是在整个流程实例此流程变量是共享的
package com.yl;
import org.activiti.engine.*;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;
public class ActivitiTest {
//创建工作流引擎
ProcessEngine processEngine= ProcessEngines.getDefaultProcessEngine();
//管理任务节点的对象
TaskService taskService=processEngine.getTaskService();
/**
* 设置流程变量
*/
@Test
public void setVariable(){
//获取当前流程实例id=10001的当前任务节点对象
Task task= taskService.createTaskQuery().processInstanceId("10001").singleResult();
//设置流程变量
taskService.setVariable(task.getId(),"username","yl01");
//完成此任务节点
taskService.complete(task.getId());
}
/**
* 获取流程变量
*/
@Test
public void getVariable(){
//获取当前流程实例id=10001的当前任务节点对象
Task task= taskService.createTaskQuery().processInstanceId("10001").singleResult();
//设置流程变量
String username= (String) taskService.getVariable(task.getId(),"username");
System.out.println(username);
//完成此任务节点
taskService.complete(task.getId());
}
}