【问题标题】:Retrieving a process Instance diagram in Camunda在 Camunda 中检索流程实例图
【发布时间】:2015-07-02 00:04:10
【问题描述】:

我一直在尝试从 Camunda 引擎检索流程实例图。所有 JAVA 和 REST 方法都处理检索已部署的流程图。所以,我最接近的就是这个方法了。

InputStream getProcessDiagram(String processDefinitionId) 

但这对我没有用,因为我希望能够获得特定流程实例的当前状态。

可以在 Camunda Tasklist 中查看表示当前状态的流程图,但我不知道如何检索它。

谢谢!

【问题讨论】:

    标签: camunda


    【解决方案1】:

    带有状态的图表并非简单地来自 REST API。相反,收集来自两个来源的数据:

    • GET /process-definition/{id}/xml 提供了 BPMN 图(你已经找到了)[1]
    • GET /process-instance/{id}/activity-instances 在树形结构中提供流程实例的状态 [2]

    任务列表有一些客户端逻辑,它使用bpmn.io 呈现 BPMN XML,并根据活动实例树在其顶部放置标记。

    【讨论】:

    • 谢谢,通过 bpmn.js 库找到了渲染!但是,第二种方法返回一个活动实例树,但如何从中检索当前活动 ID?就我而言,就像“服务任务3”。我将其视为结果中的叶节点,但如何提取它以呈现图表?
    • 活动实例树的叶子节点是当前活动的活动。因此,您必须在渲染之前处理树以确定所有叶子。请记住,转换实例和活动实例之间存在区别。两者都可能代表跑步活动;过渡实例总是叶子。
    • @thorben 我可以获取流程实例的所有已完成活动的列表以及当前活动的活动实例吗
    • 我通过 processInstance 查询的 createHistoricActivityInstanceQuery 查询历史服务得到了答案
    • 很好的答案。是否有任何示例如何通过 bpmn.io 导入 bpmn-xml 和活动实例?目前我正在尝试 await this.bpmnViewer.importXML(this.bpmnDecrypted); 。但是如何添加活动实例? BpmnIoViewer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多