【问题标题】:runtimeservice.getVariables does not work because it can't find process instance idruntimeservice.getVariables 不起作用,因为它找不到流程实例 ID
【发布时间】:2019-04-15 14:20:52
【问题描述】:

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

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

但如果我在我的流程实例列表中搜索它,是否存在。我就是这样做的:

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

我被这个问题困住了,我不明白为什么它一直这样做。我错过了什么?

【问题讨论】:

    标签: flowable


    【解决方案1】:

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

    RuntimeService找不到变量的原因是流程已经完成。

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

    【讨论】:

    • 如果您来到这里,但您的流程实例尚未完成,就像我的情况一样,也许您将任务 id 用作流程实例 id ... 就像我一样 :-/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 2018-12-28
    相关资源
    最近更新 更多