在activiti中使用 Business Key 查询任务
时间: 2024-09-18 18:14:23 浏览: 51
在Activiti流程引擎中,Business Key通常用于标识一个特定的任务实例,它是一个自定义字段,可以用来跟踪和检索任务。如果你想要通过Business Key查询任务,你可以按照以下步骤操作:
1. 首先,确保你在处理任务的时候设置了`businessKey`属性,并将其保存到数据库或消息队列等数据源中。
2. 当你需要查询任务时,在Java代码中,你可以使用`ProcessEngineServices`提供的`HistoryService`或者`RuntimeService`。例如,使用`RuntimeService`,可以在运行时执行如下代码:
```java
String businessKey = "yourBusinessKey";
List<HistoricTaskInstance> tasks = historyService.createHistoricTaskQuery()
.taskBusinessKey(businessKey)
.list();
```
对于`HistoricTaskInstance`对象,你可以遍历这个列表来获取相应的任务详情。
3. 如果你想查询当前活跃的任务,可以使用`RuntimeService`的`createTaskQuery()`:
```java
List<Task> activeTasks = runtimeService.createTaskQuery()
.processInstanceId(processInstanceId) // 这里需要和业务键关联的流程实例ID
.taskBusinessKey(businessKey)
.list();
```
阅读全文