中间事件
什么是中间事件
BPMN 2.0中间事件表示发生在流程中的事件,位置介于开始事件和结束事件之间。它不会启动或终止流程,但会随着流程推进改变或影响流程。中间事件用于对影响业务流程顺序流的中断、延迟或触发器进行建模。
中间事件要点
- 图形表示:带双线边框的圆形。
- 中间事件类型:
- 消息中间事件:在流程中等待或发送消息。
- 计时器中间事件:使流程延迟指定时间或直到某个日期。
- 条件中间事件:等待条件满足后再继续。
- 信号中间事件:捕获或抛出影响当前流程或其他流程的信号。
- 错误中间事件:处理流程中发生的错误。
- 升级中间事件:表示需要在流程继续前处理的升级事项。
放置位置
- 捕获事件:等待某件事情发生的中间事件,例如消息或信号。
- 抛出事件:主动触发某件事情的中间事件,例如发送消息或信号。
中间事件可以出现在流程的正常顺序流中,也可以附加到活动边界上(称为边界事件),或放置在流程中需要监控或触发特定条件的位置。
中间事件位于流程的开始点和结束点之间。它可以捕获(等待)或抛出(发送)信息,您可以通过查看圆形内部的符号判断其类型。
在流程图中,接收到消息会触发流程开始。下一项任务会检查物品是否有库存,并在物品可用后立即发送确认链接。发送确认链接这一操作由发送链接的中间事件处理。只有成功收到确认链接后,流程才会进入订单处理,最终完成订单(结束事件)。
在整个流程中,中间事件内部的不同符号代表会改变顺序流的不同触发器。这些触发器包括消息、计时器、错误、补偿、条件流、信号、多重事件、升级和并行流程。每种触发器都代表流程中的一种特定交互或条件。
所有事件及其对应符号
| Start | Intermediate | End | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Normal | Event Sub process | Event Sub process non-interrupt | Catch | Boundary | Boundary non-interrupt | Throw | |
| None | | |||||||
| Message | | | | | | | | |
| Timer | | | | | | | ||
| Conditional | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Error | | | | |||||
| Escalation | | | | | | | ||
| Termination | | |||||||
| Compensation | | | | | ||||
| Cancel | | | ||||||
| Multiple | | | | | | | | |
| Multiple Parallel | | | | | | | ||