Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated
BoundaryEventActivityBehavior 边界事件活动行为类
/**
* 边界事件活动行为类
*
* @author Joram Barrez
*/
public class BoundaryEventActivityBehavior extends FlowNodeActivityBehavior {
private static final long serialVersionUID = 1L;
protected boolean interrupting;
public BoundaryEventActivityBehavior() {
}
public BoundaryEventActivityBehavior(boolean interrupting) {
this.interrupting = interrupting;
}
@Override
public void execute(DelegateExecution execution) {
// 被子类覆盖
}
@Override
public void trigger(DelegateExecution execution, String triggerName, Object triggerData) {
ExecutionEntity executionEntity = (ExecutionEntity) execution;
CommandContext commandContext = Context.getCommandContext();
if (interrupting) {
executeInterruptingBehavior(executionEntity, commandContext);
} else {
executeNonInterruptingBehavior(executionEntity, commandContext);
}
}
protected void executeInterruptingBehavior(ExecutionEntity executionEntity, CommandContext commandContext) {
// 销毁作用域操作将查找父执行和
// 销毁整个作用域,并使用此父执行保留边界事件。
//
// 另一方面,下面的take outgoing seq flows操作(非中断else子句)使用
// 要离开的子执行,这使作用域保持活动状态。
// 这就是我们需要的。
ExecutionEntityManager executionEntityManager