Activiti HistoryService

1.查询历史流程实例

    /**
     * 查询历史流程实例
     */
    @Test
    public void test11(){
        HistoryService historyService = processEngine.getHistoryService();
        HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
                .processInstanceId("40001").singleResult();
        System.out.println(historicProcessInstance.getId());
        System.out.println(historicProcessInstance.getDeploymentId());
        System.out.println(historicProcessInstance.getEndTime());
    }

2.查询历史活动 

    /**
     * 查询历史活动
     */
    @Test
    public void test12(){
        HistoryService historyService = processEngine.getHistoryService();
        List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery()
                .processDefinitionId("helloworld:4:32504").list();
                //.processInstanceId("35001").list();
        for (HistoricActivityInstance hi:list){
            System.out.println(hi.getActivityId());
            System.out.println(hi.getAssignee());
            System.out.println(hi.getExecutionId());
            System.out.println(hi.getProcessDefinitionId());
            System.out.println("----------------------------------");
        }
    }

3.查询历史流程变量 

    /**
     * 获取历史流程变量
     */
    @Test
    public void test10(){
        HistoryService historyService = processEngine.getHistoryService();
        List<HistoricVariableInstance> list = historyService.createHistoricVariableInstanceQuery().variableName("applyId").list();
        for (HistoricVariableInstance hi:list){
            System.out.println(hi.getId());
            System.out.println(hi.getTaskId());
            System.out.println(hi.getProcessInstanceId());
        }
    }


 4.总结

       由于数据库中保存着历史信息以及正在进行的流程实例信息,在实际项目中对已完成的任务的查看频率远不及对代办和可接

任务的查看,所以activiti采用分开管理,把正在运行的交给RuntimeService,TaskService管理,而历史数据交给HistoryService

来管理。

       这样做的好处在于,加快流程执行的速度,因为正在执行的流程中的数据不会很大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值