如何添加补偿模块
如果您没有添加您自己的补偿,则运行时引擎将执行默认补偿,该默认补偿调用当前事务内任何嵌套事务的补偿。 它首先调用最近完成的事务的补偿,并直到所有嵌套的事务都已得到补偿前一直有效。
即使补偿发生在循环形状内,也是如此:补偿将按相反顺序运行。 首先,将调用循环中最后一个迭代的补偿,然后调用前一个迭代的补偿,依此类推。
注意
由于为使补偿有效,数据将保存到物理内存中,因此,在循环内使用补偿可能会影响性能,在有大量迭代存在的情况下,可能导致问题。
如果默认顺序无法满足您的要求,您可以编写自己的补偿处理程序,以便按您指定的顺序显式调用嵌套作用域的补偿处理程序。
添加补偿模块
右键单击要向其添加补偿块的事务的作用域形状,然后单击“新建补偿块”。
注意
若要向作用域形状添加补偿块,必须将作用域形状的事务类型属性设置为 Atomic 或 Long Running。
补偿块将添加到业务流程中,紧跟在关联的 Scope 形状之后。
在 “补偿块” 形状中,添加形状以创建撤消已提交事务的过程。