我有下面的场景
我必须创建5个不同业务流程的多个实例(由对DB的调用确定),这些实例是在单独的工作流中建模的
为了说明他们的名字
我必须根据数据库中的一些数据启动上述工作流的多个实例。
我还需要一个父工作流(管理创建上面的工作流),它本质上将执行以下步骤--注意:除非外部停止,否则该工作流永远不会死。我希望将此工作流作为调度器来创建其他工作流的实例。此工作流将在容器启动时启动。
Step1。在服务任务中使用REST从数据库读取数据。
。来自step1的数据将告诉我们以下信息
Workflow 1 -> create 5 instances
Workflow 2 -> create 2 instances
Workflow 3 -> create 1 instances
Workflow 4 -> nothing yet to create
Workflow 5 -> nothing yet to create注意:我们设置了一些阈值,这确保这个过程创建的PI不多。
步骤2:我试图在下一个服务任务中使用RuntimeService的java启动这些流程实例。
runtimeService.startProcessInstanceByKey("workflow1");. * 5 times
runtimeService.startProcessInstanceByKey("workflow2");. * 2 times
runtimeService.startProcessInstanceByKey("workflow3");. * 1 time没有启动工作流4和工作流5,因为在这个迭代中没有必要
我是根据step2中的数据调用这个次数的
我期望所有这些流程实例都将被异步启动,这个工作流的目的仅仅是启动其他工作流。
第三步。在完成了workflow1到workflow5的所有流程实例启动之后,我正在进行一些流程清理,并将流发送回步骤1。
它一直在循环中运行,并再次执行相同的步骤。
我观察到工作流的执行(workflow1到workflow5)根本没有触发。直到主工作流停止为止
我尝试过不同的机制,但在实现用例方面没有成功。
什么是最好的建模方法?我不知道要做什么才能实现this.Can,有人帮我做同样的事吗?
我正在使用弹簧引导凸轮启动器来做同样的事情。
我已经附上了主工作流,其中包含三个服务任务。

发布于 2022-04-12 14:12:19
来自卡蒙达论坛的回答我的问题:
在BPMN中,您可以将一个活动标记为多个实例,这意味着它将根据静态配置或基于动态条件或集合变量多次执行。请参阅https://camunda.org/bpmn/reference/#activities-task (滚动到多个实例)有关此的介绍,并查看Camunda实现参考的https://docs.camunda.org/manual/7.7/reference/bpmn20/tasks/task-markers/#multiple-instance。在Camunda modeler中,多实例标记可以通过活动的上下文菜单进行切换。
https://stackoverflow.com/questions/44992296
复制相似问题