我正在使用Camunda Java Api,并且我想为正在运行的进程更改进程实例变量,这可能吗?
答案 0 :(得分:3)
RuntimeService具有“ setVariable”方法,可以使用processInstanceId,variableName和value进行调用。
您可以使用“ runtimeService.createProcessInstanceQuery()...”找到流程实例,例如,使用流程业务密钥。
答案 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);
});
});