【问题标题】:Compensate a callActivity补偿一个 callActivity
【发布时间】:2014-05-05 21:00:19
【问题描述】:

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

someProcess 在哪里:

如果我从 REST api 启动主进程并将成功变量设置为 false,则会引发补偿事件。

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

我得到以下输出:

First task
second task
hello
compensate second task
compensate first task

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

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

【问题讨论】:

    标签: activiti bpmn


    【解决方案1】:

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

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

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

    你可以在Userguide查看它,请看Current limitations部分,有点下面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-04
      • 2015-10-17
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 2014-08-26
      相关资源
      最近更新 更多