补偿callActivity

时间:2013-10-16 09:08:29

标签: activiti bpmn

我有一个主进程“compensateProcess”正在调用一个活动“someProcess”:

compensateProcess

其中someProcess是:

someProcess

如果我从REST api启动主进程并将成功的varible设置为false,则抛出补偿事件。

{"processDefinitionKey":"compensateProcess", "variables":[{"name": "successful", "value": false}]}

我得到以下输出:

First task
second task
hello
compensate second task
compensate first task

因此不执行“补偿问候”任务。这可能是正常的,因为没有与呼叫活动相关联的边界事件。是否可以将补偿事件转发给被叫活动?目标是避免重新实现“补偿问候”任务,这将导致重复的代码。

请注意,如果我将callActivity替换为嵌入式子流程,则会按预期执行补偿。

1 个答案:

答案 0 :(得分:0)

如果您确实需要触发Compensate Hello,那么您也应该在主过程中复制它。

来自Activiti用户指南(当前为5.15):

Compensation is not propagated to sub process instances spawned by call activities.

您可以在Userguide查看,请查看Current limitations部分,如下所示。

相关问题