1、设置Java Bean 的流程变量
/** * 当一个javaBean(实现序列号)放置到流程变量中,要求javabean的属性不能在发生变化 如果发生变化,再获取时,抛出异常 * * 解决方案:在person对象中添加: private static final long * serialVersionUID="6757393795687480331L"; 同时实现序列号接口 * */ Person p = new Person(); p.setName("翠花"); p.setId(20); p.setDate();; p.setNote("回去探亲,一起吃个饭123"); taskService.setVariable(taskId, "人员信息(添加固定版本)", p);
2、获取流程变量
Person p = (Person)taskService.getVariable(taskId, "人员信息(添加固定版本)"); System.out.println(" 请假人: "+p.getName()+" 请假天数: "+p.getId()+" 请假时间:"+ p.getDate()+ " 请假原因: "+p.getNote());
3、查询历史流程变量
可以根据变量名称查询该变量的所有历史信息 /** * 查询流程变量的历史表 */ @Test public void findHistoryProcessVariables(){ List<HistoricVariableInstance> list = processEngine.getHistoryService() .createHistoricVariableInstanceQuery()//创建一个历史的流程变量查询对象 .variableName("请假原因") .list(); if (list!=null &&list.size()>0) { for (HistoricVariableInstance hvi : list) { System.out.println(hvi.getId()+" "+hvi.getProcessInstanceId()+" "+hvi.getVariableName() +" "+hvi.getVariableTypeName()+" "+hvi.getValue()); System.out.println("########################################"); } } }