activiti7 用processInstanceId 获取processDefinitionKey
时间: 2024-02-17 12:02:42 浏览: 128
SpringBoot整合Activiti7的实现代码
您可以使用 Activiti 提供的 `RuntimeService` 接口来通过 `processInstanceId` 获取流程定义的信息,其中包括 `processDefinitionKey`。
示例代码:
```java
@Autowired
private RuntimeService runtimeService;
public String getProcessDefinitionKeyByProcessInstanceId(String processInstanceId) {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
if (processInstance != null) {
return processInstance.getProcessDefinitionKey();
}
return null;
}
```
在上面的代码中,我们使用 `createProcessInstanceQuery()` 方法创建一个 `ProcessInstanceQuery` 对象,并通过 `processInstanceId()` 方法指定要查询的流程实例 ID。然后,我们可以调用 `singleResult()` 方法来获取唯一的流程实例对象,并从中获取 `processDefinitionKey` 属性。如果流程实例不存在,则返回 `null`。
阅读全文