执行以下代码以重新启动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();
答案 0 :(得分:0)
runtimeService仅用于ProcessInstances ...对于CMMN Cases,请使用CaseService ...,但是:您将看到没有重新启动方法...并且由于camunda停止了CMMN Cases的进一步开发,因此可能不会“成为...
我相信您最好的选择是以某种方式开始新案例,并尝试从以前的实例中提供尽可能多的状态...并且在您提出以下要求之前:我以前从未这样做过,不会有任何帮助这样做。