Activiti进阶(五)——流程执行历史记录
来源:互联网 发布:js函数数组查找字符串 编辑:程序博客网 时间:2024/06/14 08:41
之前的几篇文章,为大家简单的介绍了部署流程定义、启动流程实例、查看和办理个人任务以及如何设置和获取流程变量,这一系列的活动组成了一个完整的执行流程,那么一个执行完的流程我们如何查看相关的定义呢,这篇博文就为大家简单的介绍一下流程执行的历史记录查询。
一、查询历史流程实例
/**查询历史流程实例*/@Testpublic void findHisProcessInstance(){List<HistoricProcessInstance> list = processEngine.getHistoryService().createHistoricProcessInstanceQuery().processDefinitionId("testVariables:2:1704")//流程定义ID.list();if(list != null && list.size()>0){for(HistoricProcessInstance hi:list){System.out.println(hi.getId()+" "+hi.getStartTime()+" "+hi.getEndTime());}}}
从表中我们可以看到,我们可以通过流程实例ID和流程部署ID得到对象的历史流程实例,从而获得该实例的开始时间和结束时间及其他一些属性定义。
二、查询历史活动
/**查询历史活动 * 问题:HistoricActivityInstance对应哪个表 * 问题:HistoricActivityInstance和HistoricTaskInstance有什么区别*/@Test public void findHisActivitiList(){String processInstanceId = "1801";List<HistoricActivityInstance> list = processEngine.getHistoryService().createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list();if(list != null && list.size()>0){for(HistoricActivityInstance hai : list){System.out.println(hai.getId()+" "+hai.getActivityName());}}}
三、查询历史任务
/**查询历史任务 * 问题:HistoricTaskInstance对应哪个表*/@Testpublic void findHisTaskList(){String processInstanceId = "1801";List<HistoricTaskInstance> list = processEngine.getHistoryService().createHistoricTaskInstanceQuery().processInstanceId(processInstanceId).list();if(list!=null && list.size()>0){for(HistoricTaskInstance hti:list){System.out.println(hti.getId()+" "+hti.getName()+" "+hti.getClaimTime());}}}
查询历史任务,就是查询摸一次流程的执行一共经历了多少个任务,对应表:act_hi_taskinst
四、查询历史流程变量
/**查询历史流程变量*/@Testpublic void findHisVariablesList(){String processInstanceId = "1801";List<HistoricVariableInstance> list = processEngine.getHistoryService().createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).list();if(list != null && list.size()>0){for(HistoricVariableInstance hvi:list){System.out.println(hvi.getId()+" "+hvi.getVariableName()+""+hvi.getValue());}}}
查询历史流程变量,就是查询某一次流程的执行一共设置的流程变量,对应表:act_hi_varinst
总结:
由于数据库中保存着历史信息以及正在运行的流程实例信息,在实际项目中对已完成任务的查看频率远不及对待办和运行中的任务的查看,所以activiti采用分开管理,把正在运行的交给RuntimeService管理,而历史数据交给HistoryService来管理。
5 0
- Activiti进阶(五)——流程执行历史记录
- Activiti进阶(五)——流程执行历史记录
- Activiti进阶(五)——流程执行历史记录
- Activiti(五)——流程执行历史记录
- Activiti——流程执行历史记录(七)
- Activiti 学习笔记六:流程执行历史记录
- Activiti基础教程--07流程执行历史记录(历史任务、历史流程实例、历史活动)
- Activiti基础教程--07流程执行历史记录(历史任务、历史流程实例、历史活动)
- Activiti——工作流之流程实例、任务的执行(五)
- Activiti查看流程历史记录(六)
- Activiti 查看流程历史记录
- Activiti 查看流程历史记录
- Activiti进阶(三)——流程定义的CRUD
- Activiti进阶(三)——流程定义的CRUD
- Activiti进阶(三)——流程定义的CRUD
- Activiti——HelloWorld-模拟流程执行(三)
- activiti 流程历史(五)
- Activiti进阶(二)——部署流程资源的三种方式
- 代码优化--数据字典(dictionary)的使用
- 【杭电】[2007]平方和与立方和
- 二分查找的非递归与递归算法
- CentOS6.4升级Python
- js整体介绍
- Activiti进阶(五)——流程执行历史记录
- git常用命令
- c#日期格式转换大全
- Xcode Block retain cycle警告解决办法
- Oracle数据库redo日志损坏恢复方案总结
- GCD使用三部曲之:基本用法
- FFMPEG笔记 - chapter0.介绍、编译与安装
- onPageScrollStateChanged的三种状态
- flex @Embed("图片地址")和source="图片地址"的区别