# 任务边界事件

在业务流程中,边界事件是实现异常处理和特殊流程控制的重要机制。本文将深入解析边界事件的功能特点、配置方法以及实际应用场景。

# 1. 边界事件基础概念

任务边界事件是指附加在任务节点边界上的事件,用于捕获特定事件并触发后续流程。当主任务执行过程中发生指定事件时:

  • 中断事件:中止当前任务,从边界事件处继续执行
  • 非中断事件:保持当前任务继续执行,同时触发附加流程

# 1.1 核心特点

  • 附着性:必须绑定在任务或子流程边界上
  • 中断性:默认会中断当前活动(可配置为非中断)
  • 多事件支持:单个节点可配置多个边界事件

# 1.2 与中间事件的区别

特性 边界事件 中间事件
位置 附着在活动边界 独立位于流程线上
触发时机 活动执行期间 流程流转到该节点时
典型用途 异常处理/超时控制 主动等待外部事件

# 2. 常用边界事件类型

# 2.1. 定时边界事件

作用:实现比节点超时更复杂的超时处理逻辑

典型场景

  • 超时后自动转交主管审批
  • 超时后执行多步骤处理

配置方法

  1. 将边界事件类型设为"定时边界事件"
  2. 设置后续任务(如"主管审批")
  3. 配置处理人(如"提交人的主管")

定时边界事件流程图 ▲ 定时边界事件流程示例

优势:相比节点自带的超时设置,可支持更复杂的业务逻辑

高级配置选项

  • 相对时间:如2小时30分钟
  • 绝对时间:如表单上的时间
  • 可配置提前量:如提前30分钟

# 2.2 升级边界事件

作用:捕获系统抛出的特定事件(如任务超时事件)

系统内置事件类型

事件名称 触发条件
SysTaskInstanceTimeout 任务实例超时
SysDecision 终审条件满足

典型场景

  • 复用现有超时配置,同时增加额外处理
  • 响应系统内置事件

配置步骤

  1. 在任务属性→超时设置中:
    • 启用"过时处理"
    • 选择"抛出事件"类型
  2. 将边界事件设为"升级边界事件"
  3. 匹配事件名称(如"SysTaskInstanceTimeout")

升级边界事件流程图 ▲ 升级边界事件流程示例

# 3. 中断与非中断模式对比

事件类型 行为特征 典型应用场景
中断事件 1. 立即中止当前活动
2. 清除活动产生的工作项
3. 沿边界事件出口继续执行
必须中断当前处理的场景
非中断事件 1. 继续当前活动
2. 同时沿边界事件出口继续执行
1. 超时提醒但不中断审批
2. 并行记录异常日志
3. 发送预警通知

配置示例(以升级边界为例)

中断与非中断示例图 ▲ 中断与非中断示例图

# 4. 最佳实践建议

  1. 超时处理三原则

    • 关键审批节点必须设置超时
    • 超时处理应明确业务规则
    • 保留超时操作审计日志
  2. 多边界事件组合

多边界事件组合示例图 ▲ 多边界事件组合示例图

  1. 异常处理流程设计
    • 建议为关键业务任务配置:
      • 定时边界事件(超时转派)
      • 错误边界事件(系统异常处理)
      • 升级边界事件(人工升级路径)

掌握边界事件的使用可以显著提升业务流程的健壮性,建议在以下场景优先考虑使用:

  • 需要严格时效控制的审批环节
  • 涉及外部系统交互的关键节点
  • 存在多种异常处理路径的复杂业务

注:其他边界事件类型(如错误、消息等)可在特定业务场景下按需使用