1 事件分为两种,一种是抛出:当流程执行到这时,抛出一个事件;另一种是捕获:当流程执行到这时,他就会等待一个事件的发生。
一个事件需要有事件定义,否则不会做任何“特殊”的事。对于一个流程实例,一个开始事件如果没有事件定义,他将不知道如何开始该流程。如果给开始事件添加了事件定义,就说该类型的事件开启了流程。
2 开始事件
表明一个流程从哪开始,开始事件的类型可以是收到消息、指定时间间隔、指定信号等。
2.1 Signal Event Definitions
信号事件是一个全局的事件,他会将其传播到所有激活的处理器。默认情况下,信号事件会向引擎全局范围进行广播。意味着,一个流程实例发出信号事件,所有其他的流程实例都可以捕获该事件进行处理。
定时开始事件不能用在子流程中,
2.2 Message Event Definitions
Message Event 总是指向单个接收者。message start event 名称必须全局唯一,如果有相同的名称引擎会报错。
message start event 不支持在嵌入子流程中使用。
3 结束事件:标志着流程的一条路径或者一个子流程的的结束。结束事件总是抛出结果。
3.1 None End Event
当流程引擎执行到这时,直接结束掉,不会执行其他操作。
3.2 Terminate End Event
当流程实例执行到该节点时,该流程会终止但不会影响其他流程,如果是子流程或者嵌套子流程也只会结束该子流程,不会对其他子流程造成影响。
flowable中有一个属性可以改变其特性,terminateAll ,默认值是 False,如果设置为 True,无论该节点是在主流程中还是子流程中,都会将 root 流程实例终止掉。