runtimeservice.getVariables不起作用,因为它找不到流程实例ID

时间:2019-04-15 14:20:52

标签: flowable

我对flowable还是陌生的,我正在尝试使用变量启动流程实例。 params是我用来启动该过程的<String,Object>的地图。一切顺利,但是如果我尝试取回变量,它将告诉我

"execution 22f42f67-5f88-11e9-9df0-d46d6dbfea92 doesn't exist"

但是,如果我在流程实例列表中搜索它,就在那里。这就是我要做的:

pi = runtimeService.startProcessInstanceById(processDefinitionId, params);
runtimeService.getVariables(pi.getId());

我陷入了这个问题,我不明白为什么它会继续这样做。我想念什么?

1 个答案:

答案 0 :(得分:1)

Flowable具有RuntimeServiceHistoryService的概念。第一个仅包含运行时数据(当前处于活动状态),第二个具有所有数据。运行时数据是历史数据的子集。

之所以无法通过RuntimeService找到变量,是因为该过程已完成。

如果您使用HistoryService,它将按预期工作。