JBPM工作流简单步骤

启动流程:
获取最新的流程定义:
JbpmContext.getCurrentJbpmContext().getGraphSession().findLatestProcessDefinitions();//返回List
获取指定流程定义:
ProcessDefinition processDefinition =
graphSession.loadProcessDefinition(processDefinitionId);
创建流程实例:
ProcessInstance processInstance = new ProcessInstance(processDefinition);
开始任务节点:
TaskInstance taskInstance =
processInstance.getTaskMgmtInstance().createStartTaskInstance();
获取指定任务实例(ID):
TaskMgmtSession taskMgmtSession;
taskMgmtSession = jbpmContext.getTaskMgmtSession();
TaskInstance taskInstance = taskMgmtSession.loadTaskInstance(taskInstanceId);
获取任务列表:
taskMgmtSession.findTaskInstances(userName);//userName为指派的人名(或角色名)

获取任务变量:
TaskController taskController = taskInstance.getTask().getTaskController();
List variableAccesses = taskController.getVariableAccesses();
注:TaskController 有两个关键的函数 initializeVariables,submitParameters,一个用来从流程中把变量置入task实例,另一个则相反,把task中变量更新到流程变量

根据流程定义找到相关的任务定义
ProcessDefinition pd = jbpmContext.getGraphSession().getProcessDefinition(id);
List tasklist = pd.getTaskMgmtDefinition().getTasks();

根据流程实例找到任务实例
taskMgmtSession.findTaskInstancesByProcessInstance(processInstance);

原文地址:https://www.cnblogs.com/djrLog/p/4566143.html