You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Kogito REST API获取已完成流程实例的SVG?

如何在Kogito中生成已完成流程实例的执行路径SVG(无需持久化优先)

核心限制说明

官方Process SVG插件仅支持从持久化的流程实例生成SVG,而Kogito默认只持久化未完成的实例,已完成实例会被自动清理,因此直接调用/svg/processes/{processId}/instances/{processInstanceId}接口无法获取已完成实例的SVG。

解决方案

方案1:重放流程实例生成SVG(无需持久化)

利用Kogito流程执行的确定性(相同输入会产生一致的执行路径),通过重放流程来生成目标SVG:

  • 仅需保存已完成实例的输入数据和流程ID(无需存储整个实例,大幅降低存储开销)。
  • 当需要生成SVG时:
    1. 调用流程启动接口,传入保存的输入数据,启动一个临时流程实例。
    2. 流程执行完成后,立即从内存中获取该临时实例的执行轨迹,结合BPMN模型生成SVG(可复用官方插件的SVG生成逻辑,或基于Kogito提供的API自行处理)。
    3. 临时实例无需持久化,执行完成后会自动被清理,不会占用长期存储资源。

方案2:自定义持久化执行轨迹并生成SVG(适配非确定性流程)

如果流程包含非确定性逻辑(如随机分支、外部依赖导致路径不一致),重放无法还原原执行路径,可以采用轻量化持久化执行轨迹的方式:

  • 监听Kogito的ProcessCompletedEvent事件,在流程完成时提取实例的执行节点序列(通过ProcessInstance.getNodeInstances()获取已执行的节点信息)。
  • 将执行轨迹与实例ID、流程ID关联存储(仅存节点ID、执行时间等必要数据,避免大量存储占用)。
  • 自定义SVG生成接口:加载对应BPMN模型,根据存储的执行轨迹标记已执行的节点,生成带高亮路径的SVG(无需依赖官方插件的实例查询逻辑)。

适配你的业务场景

  • 返回输出数据的REST端点:直接返回预存的流程输出数据即可,无需关联流程实例。
  • 返回SVG的端点:优先使用方案1(无额外存储开销);若流程存在非确定性逻辑,切换为方案2实现。

内容的提问来源于stack exchange,提问作者tinman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:25:12