首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bpmn2中的补偿

bpmn2中的补偿
EN

Stack Overflow用户
提问于 2014-12-28 12:39:39
回答 1查看 944关注 0票数 1

我有一个关于在bpmn2中抛出/捕捉/处理补偿事件的机制的问题。基于Travel Booking Examplebpmn2为例,我们有一些compensation intermediate throwing eventscompensation boundary eventscompensation handler。在这个图中,我将抛出和捕获补偿事件(与我对事件的了解)联系在一起:

这是正确的吗?补偿(预订)可以从结束的子进程(预订)之外抛出,并在其中激活compensation event sub-process (句柄补偿)吗?(绿色箭头)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 13:32:08

我的假设不是真的。基于activiti文件

补偿边界事件与其他边界事件具有不同的激活策略。其他边界事件,例如,当附加到的活动启动时,就会激活信号边界事件。当活动离开时,它们将被停用,相应的事件订阅将被取消。补偿边界事件不同。当附加到它的活动成功完成时,补偿边界事件被激活。此时,将创建补偿事件的相应订阅。当触发补偿事件或相应的流程实例结束时,订阅将被移除。从此,如下所示:

当触发补偿时,与补偿边界事件关联的补偿处理程序将以与其附加到的活动成功完成的次数相同的次数被调用。如果补偿边界事件附加到具有多个实例特征的活动,则为每个实例创建补偿事件订阅。如果将补偿边界事件附加到循环中包含的活动,则每次执行该活动时都会创建补偿事件订阅。如果流程实例结束,则取消对补偿事件的订阅。

子进程中的补偿事件处理程序是相同的。

因此,给定图形中红色和橙色箭头的目标应该是补偿任务:cancel flightcancel hotel

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

https://stackoverflow.com/questions/27676446

复制
相关文章

相似问题

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