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());
}
}