Search code examples
javacamundacamunda-modeler

How to update process instance variables?


I'm using Camunda Java Api, and i would like to change a process instance variable for a running process, is it possible ?


Solution

  • I finally, find out how to update a variable for all running process instance :

    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);
            });
        });