首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新MultiInstance用户任务以添加/删除任务?

如何更新MultiInstance用户任务以添加/删除任务?
EN

Stack Overflow用户
提问于 2020-10-01 11:54:41
回答 1查看 1.2K关注 0票数 1

我们有一个业务场景,希望能够在多实例上下文中增加或删除任务。我成功地创建了基于集合workPartnerList的mutli实例用户任务。

如果一个进程处于工作流的多实例阶段--如何根据workPartnerList的计数/值来增加或减少多实例状态,这可以根据API调用的更新来增加或减少。(我们需要在完成总体任务之前做到这一点)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-06 04:43:51

我想你指的是并行多实例任务。

https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/task-markers/

另一种定义实例数量的方法是指定流程变量的名称,该变量是使用loopDataInputRef子元素的集合。对于集合中的每个项,将创建一个实例。

实例的创建发生在执行到达并行多实例活动的时间点。创建实例的数量取决于集合在此特定时间点的大小。( BPMN2进程引擎不会自动使任务实例与集合保持同步。)

要“删除”任务实例,您可以完成或取消它们(例如,通过附加的边界事件)或我们完成条件。

多实例活动在所有实例完成后结束。但是,可以指定每次实例结束时计算的表达式。当该表达式的计算结果为true时,所有剩余的实例都被销毁,多实例活动结束,并继续该过程。这样的表达式必须在completionCondition子元素中定义。

若要向正在运行的流程实例动态添加其他任务实例,可以使用实例事件子进程或将边界事件附加到任务。

https://docs.camunda.org/manual/7.13/reference/bpmn20/events/message-events/#message-boundary-event

边界事件是捕捉附加到活动的事件。这意味着在活动运行时,消息边界事件正在侦听命名消息。当捕捉到这一点时,可能会发生两件事,这取决于边界事件的配置: 中断边界事件:活动被中断,然后是从事件中流出的序列流。 不中断边界事件:在活动中保留一个令牌,并创建一个附加令牌,该令牌遵循事件的序列流。

如果您愿意在API级别上处理这个问题,那么TaskService允许您创建一个新任务 (带有用户定义的任务id)。示例:https://github.com/rob2universe/cam-multi-instance/blob/25f524be6a112deb1b4ae3bb4f28a35422e428e0/src/test/java/org/camunda/bpm/example/ProcessJUnitTest.java#L79

迁移API甚至允许您向已经创建的一组任务实例中添加其他实例-请参阅:https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-modification/#modify-multi-instance-activity-instances

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64154874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档