flowable/activiti 中间事件、边界事件

1、概念
事件的分类极多,在实际应用中可以通俗为“监听”,添加对某个流程实例或者某个任务的监听,从而控制流程的分支和走向
2、分类
事件分为5大类:开始事件、结束事件、中间事件、边界事件、边界补偿事件。
①.开始事件、结束事件
即流程的启动,可以使用各种类型的事件来启动流程,例如:定时事件实现流程的定时启动、错误开始事件通过流程的报错启动新的流程,大多数用的 是无指定开始事件,子流程的启动不需要开始事件去触发会自动启动。结束事件的用法与开始事件类似,都可以使用定时器,信号,消息去触发流程的开始和结束。
②.中间事件、边界事件
flowable/activiti 中间事件、边界事件
中间事件会以节点的形式出现在流程图中,但不是产生实际节点,
上图的定时器会对“事件2”节点的拦截即可理解为中间事件,不触发中间事件就不会产生后续的任务;
flowable/activiti 中间事件、边界事件
上图的定时器在“初级工程师处理”节点中属于边界事件,边界事件与节点共存,定时器边界事件定义一个小时,当前节点在“初级工程师处理2”,定时器会开始计时,若初级工程师处理2节点一个小时后没有向下提交,则边界事件触发:交由“高级工程师处理”。
小结:中间事件可以理解为一个任务的发起前置监听,而边界事件可以理解为对整个节点的监听。上图举例用的定时器事件,但是信号,消息等事件用法相同。

③补偿事件
主要用于对已完成的流程作回退处理,因为这些流程的结果有可能不是所希望的,且希望能回退。
如果当前流程活动是**状态的,则不能使用补偿机制,可以使用取消机制。主要用于触发或者处理补偿机制。
:如果一个补偿事件被抛出,则该属性决定抛出的事件是否等待补偿完成,
:在中间补偿事件的定义中设置该属性,则补偿只会针对指定的已完成的流程活动,
如果不指定该属性,则补偿会产生广播效果,即会触发全部符合条件的补偿事件。
flowable/activiti 中间事件、边界事件