ZPY博客

activiti7通过businesskey获取流程实例

---
title: Activiti7通过businessKey获取流程实例
date: 2020-03-25 15:48:39
categories: 工作流引擎
tags:
- activiti7
- businessKey
- 流程实例
---

一般情况下,activiti中我们可以通过流程实例id来做关于流程实例的一些操作,有些操作也是可以通过businessKey的,但是有些处理activiti中默认只提供了流程实例id的方法,比如流程实例的挂起,删除,恢复,这几个方法中传入参数必须为processInstanceId,但是在和业务工程关联时,业务调用方更希望全部通过businessKey来操作流程实例,所以我们只要能通过businessKey得到流程实例id即可解决所有问题。

需要注意的是,activiti中processRuntime .processInstance()只能取得还在运行中的流程实例,而不能获取已经完结的流程实例,而historyService .createHistoricProcessInstanceQuery()方法可以得到所有的流程实例(包括运行中和完结的)。而这个方法是可以通过businessKey作为条件来查询的,返回结果就是流程实例对象,所以通过businessKey就得到了流程实例对象,再以后业务方完全可以不用存流程实例id了,直接通过businessKey就可以代替流程实例id来做相关的操作了。