Activiti补偿

时间:2013-09-26 07:40:25

标签: activiti bpmn

我想要什么

我希望在它达到等待状态之前回滚Activiti上下文。例如,我有:

public class MyService implements JavaDelegate {

  @Override
  public void execute(DelegateExecution execution) {
    int a = calcA();
    boolean res1 = saveToDB(a);  // save to application context
    execution.setVariable("a" , a); //save to activiti context

    if (!a)
      rollback(); //rollback execution contaxt 
  }
}

出了什么问题:

我不想手动删除执行变量。我已经尝试过常见的交易 - 没有结果。现在我考虑补偿事件。

问题:

补偿事件是否回滚Activiti上下文或我应该在适当的CompensationserviceTask中手动执行?

1 个答案:

答案 0 :(得分:0)

抛出异常就可以了,它将从引擎回滚整个事务。