信号事件是一种引用了信号的事件,可以想全局作用域使用同样名称的信号的流程发送广播。 信号事件可以嵌入开始事件,边界事件,中间捕获事件,中间抛出事件,从而组成信号开始事件,信号边界事件,信号中间捕获事件,信号中间抛出事件。
在定义信号的时候有一个Scope属性可以设置为Global或processInstance
Global:全局范围的信号定义,表示可以在任何流程实例中触发和捕获信号。当一个信号事件被触发时,所有等待捕获该信号的节点都会被唤醒。
processInstance:流程实例范围的信号定义,表示只能在当前流程实例中触发和捕获信号。当一个信号事件被触发时,只有等待在当前流程实例中捕获该信号的节点会被唤醒。
TIP
应用场景:
并行流程实例之间的协作:当一个流程实例需要与其他并行流程实例进行协作时,可以触发一个信号事件来通知其他流程实例执行相应的任务。
动态流程控制:当流程的执行需要根据外部条件进行动态调整时,可以使用信号事件来触发相应的流程变化。
异常处理:当发生异常情况时,可以触发一个信号事件来通知其他流程实例或任务实例进行异常处理。
开始事件 →