flowable 中runtimeService.startProcessInstanceById(procDefId, variables); 开启的流程,通过HistoricProcessInstanceQuery可以查询到吗
时间: 2024-04-12 15:29:35 浏览: 136
在 Flowable 中,通过 `runtimeService.startProcessInstanceById(procDefId, variables)` 方法启动的流程实例可以通过 `HistoricProcessInstanceQuery` 进行查询。虽然该方法是用于启动新的流程实例,但一旦流程实例完成或终止,相关的历史记录会被保存,可以通过 `HistoricProcessInstanceQuery` 进行访问和查询。
下面是一个示例代码片段,演示如何使用 `HistoricProcessInstanceQuery` 查询通过 `startProcessInstanceById` 启动的流程实例:
```java
List<HistoricProcessInstance> processInstances = historyService.createHistoricProcessInstanceQuery()
.processDefinitionId(procDefId)
.list();
for (HistoricProcessInstance processInstance : processInstances) {
// 处理流程实例
String processInstanceId = processInstance.getId();
// ...
}
```
在上述代码中,我们使用 `createHistoricProcessInstanceQuery` 方法创建一个 `HistoricProcessInstanceQuery` 对象,并通过调用 `processDefinitionId` 方法指定要查询的流程定义ID。然后,通过调用 `list` 方法获取满足条件的历史流程实例列表。
请注意,以上代码只是一个示例,具体的实现方式可能因你的具体业务需求而略有不同。你可以根据自己的具体情况进行调整和修改。
阅读全文