"回退"活动时需要选择"回退策略","回退策略"表示BPS流程引擎将以何种方式执行回退。提供了"基于两个节点之间的时间回退"、"基于两个节点之间的路径回退"、"回退到最近的人工活动"、"单步回退"和"简单回退"五种回退策略。
- 基于两个节点之间的时间回退
回退规则如下:- 所有符合如下规则的活动都将回退:
- 目标活动完成时间到当前活动启动时间这个时间段中所有已完成的活动;
- 当前活动必须处于运行状态;
- 所有活动实例都属于同一个流程实例;
- 包含目标活动。
- 回退的顺序按活动完成时间的倒序;
- 回退的动作是将起始活动结束,同时执行所有符合第一条规则的活动的回退动作(业务补偿;包含目标活动),重启目标活动。
- 所有符合如下规则的活动都将回退:
- 基于两个节点之间的路径回退
回退规则如下:- 所有符合如下规则的活动都将回退:
- 所有能从当前活动到达目标活动的路径上的所有活动;
- 当前活动必须处于运行状态;
- 所有活动实例都属于同一个流程实例;
- 包含目标活动。
- 回退的顺序按活动执行路径的倒序;
- 回退的动作是将起始活动结束,同时执行所有符合第一条规则的活动的回退动作(业务补偿;包含目标活动),重启目标活动。
- 所有符合如下规则的活动都将回退:
- 回退到最近的人工活动
- 所有符合如下规则的活动都将回退:
- 以当前活动为参照,到达最近完成的人工活动的路径上的所有活动;
- 当前活动必须处于运行状态;
- 所有活动实例都属于同一个流程实例;
- 包含目标活动。
- 执行动作:是将起始活动结束,执行所有符合第一条规则的活动的回退动作(业务补偿;包含目标活动),重启目标活动。
- 所有符合如下规则的活动都将回退:
- 单步回退
- 所有符合如下规则的活动都将回退:
- 以当前活动为参照,所有此活动的上一个活动;
- 当前活动必须处于运行状态;
- 所有活动实例都属于同一个流程实例;
- 包含目标活动。
- 执行动作:是将起始活动结束,执行所有符合第一条规则的活动的回退动作(业务补偿;包含目标活动),重启目标活动。
- 所有符合如下规则的活动都将回退:
- 简单回退
- 所有符合如下规则的活动都可以回退:
- 所有能从当前活动到达目标活动的路径上的所有活动;
- 当前活动必须处于运行状态;
- 所有活动实例都属于同一个流程实例;
- 只回退目标活动。
- 执行动作:是将起始活动结束,但并不执行所有符合第一条规则的活动的回退动作(业务补偿;不包含目标活动),重启目标活动。
- 所有符合如下规则的活动都可以回退: