有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何更新流程实例变量?

我使用的是Camunda Java Api,我想为正在运行的流程更改一个流程实例变量,是否可能


共 (2) 个答案

  1. # 1 楼答案

    最后,我将了解如何为所有正在运行的流程实例更新变量:

    List<ProcessInstance> processInstances =
                runtimeService.createProcessInstanceQuery()
                        .processDefinitionKey(processKey)
                        .active()
                        .list();
        processInstances.forEach(processInstance -> {
            List<Execution> executions = runtimeService.createExecutionQuery()
                    .processInstanceId(processInstance.getId())
                    .list();
            executions.forEach(execution -> {
                runtimeService.setVariable(execution.getId(), variableName, variableValue);
            });
        });
    
  2. # 2 楼答案

    RuntimeService有一个方法“setVariable”,可以用processInstanceId、variableName和value调用该方法

    您可以使用“runtimeService”查找processInstance。createProcessInstanceQuery()…',例如,通过使用流程业务密钥