我正在使用 Camunda Java Api,我想更改正在运行的进程的进程实例变量,这可能吗?
问问题
2214 次
2 回答
4
RuntimeService 有一个方法“setVariable”,可以使用 processInstanceId、variableName 和 value 调用该方法。
您可以使用“runtimeService.createProcessInstanceQuery()....”找到 processInstance,例如使用流程业务密钥。
于 2019-04-03T11:21:17.580 回答
3
最后,我了解如何为所有正在运行的流程实例更新变量:
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);
});
});
于 2019-04-03T13:03:57.383 回答