flowable如何获取Activity ID
时间: 2024-04-30 15:19:28 浏览: 299
在Flowable中,可以使用`ProcessDefinition`和`ProcessInstance`对象来获取Activity ID。
一种常见的方法是使用`ProcessInstance`对象,如下所示:
```
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
String currentActivityId = processInstance.getActivityId();
```
还可以使用`Task`对象来获取当前正在执行的任务的Activity ID:
```
Task currentTask = taskService.createTaskQuery()
.processInstanceId(processInstanceId)
.singleResult();
String currentActivityId = currentTask.getTaskDefinitionKey();
```
如果要获取流程定义的第一个活动(通常是开始事件),可以使用`ProcessDefinition`对象:
```
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(processDefinitionId)
.singleResult();
// 获取第一个活动的ID
String startEventId = processDefinition.getInitialActivity().getId();
```
阅读全文