如何配置补偿形状

如果在业务流程中使用嵌套事务,可以在补偿块或事务范围的异常块中添加 补偿 形状。 这使您的协调能够显式地对嵌套事务执行补偿。 在 补偿 中指定您希望补偿的事务,并且只要事务成功提交,就会运行嵌套事务中的任何补偿代码。

注释

“补偿”属性是指事务范围的唯一标识符;它不引用范围的名称。

如果要补偿多个嵌套事务,请为每个事务添加额外的 补偿 形状。

如果外部事务中没有其他补偿代码,则不需要 补偿 形状;将自动运行任何嵌套事务的补偿代码。 “补偿”形状允许你确定是否希望对嵌套事务进行补偿,从而控制该过程。

配置补偿形状

  • 在“属性”窗口中,选择要从 “补偿 ”下拉列表中调用的补偿块。

    下拉列表将显示可以补偿的所有事务,其中包括当前事务和当前事务的任何直接子事务。 如果您看不到预期的交易,则这可能是由于交易之间的关系。

    注释

    无法在事务主体内补偿当前事务。 可以从补偿块或事务的异常块中对其进行补偿。

    如果选择补偿当前事务,则表示将调用默认处理程序,而不是显式补偿块(如果有)。 这个机制用于自动补偿已成功完成的直接嵌套事务。