# 任务边界事件
在业务流程中,边界事件是实现异常处理和特殊流程控制的重要机制。本文将深入解析边界事件的功能特点、配置方法以及实际应用场景。
# 一、 边界事件基础概念
任务边界事件是指附加在任务节点边界上的事件,用于捕获特定事件并触发后续流程。当主任务执行过程中发生指定事件时:
- 中断事件:中止当前任务,从边界事件处继续执行。
- 非中断事件:保持当前任务继续执行,同时触发附加流程。
# 核心特点
- 附着性:必须绑定在任务或子流程边界上。
- 中断性:默认会中断当前活动(可配置为非中断)。
- 多事件支持:单个节点可配置多个边界事件。
# 与中间事件的区别
| 特性 | 边界事件 | 中间事件 |
|---|---|---|
| 位置 | 附着在活动边界 | 独立位于流程线上 |
| 触发时机 | 活动执行期间 | 流程流转到该节点时 |
| 典型用途 | 异常处理/超时控制 | 主动等待外部事件 |
# 二、 常用边界事件类型
# 定时边界事件
- 作用:实现比节点超时更复杂的超时处理逻辑。
- 典型场景:
- 超时后自动转交主管审批。
- 超时后执行多步骤处理。
- 配置方法:
- 将边界事件类型设为"定时边界事件"。
- 设置后续任务(如"主管审批")。
- 配置处理人(如"提交人的主管")。
▲ 定时边界事件流程示例
- 优势:相比节点自带的超时设置,可支持更复杂的业务逻辑。
- 高级配置选项:
- 相对时间:如2小时30分钟。
- 绝对时间:如表单上的时间。
- 可配置提前量:如提前30分钟。
# 升级边界事件
- 作用:捕获系统抛出的特定事件(如任务超时事件)。
- 系统内置事件类型:
| 事件名称 | 触发条件 |
|---|---|
| SysTaskInstanceTimeout | 任务实例超时 |
| SysDecision | 终审条件满足 |
- 典型场景:
- 复用现有超时配置,同时增加额外处理。
- 响应系统内置事件。
- 配置步骤:
- 在任务属性→超时设置中:
- 启用"过时处理"。
- 选择"抛出事件"类型。
- 将边界事件设为"升级边界事件"。
- 匹配事件名称(如"SysTaskInstanceTimeout")。
- 在任务属性→超时设置中:
▲ 升级边界事件流程示例
# 三、 中断与非中断模式对比
| 事件类型 | 行为特征 | 典型应用场景 |
|---|---|---|
| 中断事件 | 1. 立即中止当前活动 2. 清除活动产生的工作项 3. 沿边界事件出口继续执行 | 必须中断当前处理的场景 |
| 非中断事件 | 1. 继续当前活动 2. 同时沿边界事件出口继续执行 | 1. 超时提醒但不中断审批 2. 并行记录异常日志 3. 发送预警通知 |
配置示例(以升级边界为例):
▲ 中断与非中断示例图
# 四、 最佳实践建议
超时处理三原则:
- 关键审批节点必须设置超时。
- 超时处理应明确业务规则。
- 保留超时操作审计日志。
多边界事件组合:
▲ 多边界事件组合示例图异常处理流程设计:
- 建议为关键业务任务配置:
- 定时边界事件(超时转派)。
- 错误边界事件(系统异常处理)。
- 升级边界事件(人工升级路径)。
- 建议为关键业务任务配置:
掌握边界事件的使用可以显著提升业务流程的健壮性,建议在以下场景优先考虑使用:
- 需要严格时效控制的审批环节。
- 涉及外部系统交互的关键节点。
- 存在多种异常处理路径的复杂业务。
注:其他边界事件类型(如错误、消息等)可在特定业务场景下按需使用。