0

执行以下代码以重新启动 Camunda 中的进程。但是对于新进程,案例实例 ID 为空。获取案例实例 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();
4

1 回答 1

0

runtimeService 仅适用于 ProcessInstances ... 对于 CMMN 案例,请使用 CaseService ... 但是:您会看到没有重新启动方法...并且随着 camunda 停止进一步开发 CMMN 案例,可能不会有 . ..

我相信您最好的选择是以某种方式开始一个新案例并尝试提供尽可能多的来自先前实例的状态......并且在您问之前:我以前从未这样做过,并且不会有任何帮助。

于 2019-11-15T09:16:12.090 回答