我需要一些关于 jbpm 和使用 kie-workbench 建模的帮助。我的场景:
向用户呈现潜在服务提供者的列表。他现在可以选择其中的多个并指定一个日期,作为提供者响应该请求的截止日期(待处理的请求应解释为“提供者拒绝请求”时超时命中)。在所有回复都可用后(通过响应或超时),该过程应继续,并将回复呈现给用户。
我必须使用 jbpm 对这种行为进行建模,并且想知道这样做的最佳方法。
遗憾的是,这是不可能的,因为这些是按顺序执行的,因此服务提供商可能无法响应,因为另一个服务提供商已经超时。此外,由于要执行的实例数量是在运行时确定的,简单的并行网关也不会完成这项工作。
有关如何使用 jbpm 正确建模此场景的任何建议?
编辑:
我不知道,如果以下内容被认为是“肮脏的”,但这是我目前的想法(尚未完全实现):
添加一个流程变量“subProcId”,子流程节点将其引用为“被调用元素”。在这个节点之前,我调用了一个自定义服务任务,它将执行以下操作:
- 使用RuleFlowProcessFactory根据当前运行时数据创建流程定义
- 构建流程并使用其 REST-API 将其上传到执行服务器
- 设置“subProcId”以包含已创建进程的 id
使用这种方法,我可以定义一个包含并行网关的子进程,其中包含所需的确切传出连接数量。
如果这是一个好主意并且可以实际工作,有什么想法吗?