执行以下代码以重新启动Camunda中的过程。但新流程的案例实例ID为null。获取案例实例ID还需要什么?
List<HistoricTaskInstance> sql = processEngine.getHistoryService().createHistoricTaskInstanceQuery()
.processInstanceBusinessKey(caseId).orderByTaskName().desc().list();
HistoricTaskInstance historicTaskInstance = sql.get(0);
logger.info("{}", historicTaskInstance);
logger.info("{}", historicTaskInstance.getCaseInstanceId());
runtimeService.restartProcessInstances(historicTaskInstance.getProcessDefinitionId()).initialSetOfVariables()
.startBeforeActivity(historicTaskInstance.getTaskDefinitionKey())
.processInstanceIds(historicTaskInstance.getProcessInstanceId()).execute();
最佳答案
runtimeService仅用于ProcessInstances ...对于CMMN Cases,请使用CaseService ...,但是:您将看到没有重新启动方法...并且由于camunda停止了CMMN Cases的进一步开发,因此可能不会。 ..
我相信您的最佳选择是以某种方式启动新案例,并尝试从前一个实例中提供尽可能多的状态...并且在您提出以下要求之前:我从来没有这样做过,这样做不会有任何帮助。