如何获得camunda的流程定义的当前正在运行的活动实例

时间:2018-09-20 03:58:06

标签: camunda

我是Camunda的新手。

我想取消当前正在运行的活动实例并启动一个新的活动实例以移动令牌状态。

但是我很难通过camunda的java api获取当前正在运行的活动实例ID。

任何暴徒?谢谢大家。

2 个答案:

答案 0 :(得分:2)

实际上,问题是“如何获取正在运行的活动实例”。而且我已经从某个地方得到了答案。

这是请求者。

只需使用如下所示的Java api

ActivityInstance activityInstance = runtimeService.getActivityInstance(instance.getProcessInstanceId());
ActivityInstance[] activityInstances = activityInstance.getChildActivityInstances();

activityInstances数组是正在运行的活动实例。您可以使用活动实例的ID来取消正在运行的活动实例。

答案 1 :(得分:0)

遇到了同样的问题。这一行返回一个 id 列表(无论它们是什么 - 用户任务、服务任务等)。如果您没有并行活动任务 - 该列表将包含一个活动 ID。

    processEngine.getRuntimeService().getActiveActivityIds(
        processInstance.getProcessInstanceId()
    );