事件网关

定义

元素定义

基于事件网关允许根据事件判断流向。网关的每个外出顺序流都要连接到一个中间捕获事件。 当流程到达一个基于事件网关,网关会进入等待状态:会暂停执行。 与此同时,会为每个外出顺序流创建相对的事件订阅。

注意基于事件网关的外出顺序流和普通顺序流不同。这些顺序流不会真的"执行"。 相反,它们让流程引擎去决定执行到基于事件网关的流程需要订阅哪些事件。 要考虑以下条件:

  • 基于事件网关必须有两条或以上外出顺序流。
  • 基于事件网关后,只能使用intermediateCatchEvent类型。 (activiti不支持基于事件网关后连接ReceiveTask(接收任务)。)
  • 连接到基于事件网关的intermediateCatchEvent只能有一条进入顺序流。

图标说明

事件网关

使用说明

分为业务使用说明(用例1.2.3)和流程规则使用说明(用例4.5.6)

  • 事件网关的输出流数量必须大于2个(用例6)
  • 事件网关的输出流类型只能是中间捕获事件,activiti不支持接受任务后面的事件网关(用例4.用例5)
  • 基于事件网关的中间捕获事件的输出流只能有一个(用例1用例2用例3)

    元素验证

    验证用例

验证项目 用例描述 输入条件 期望结果 实际结果 结果
1 验证事件网关的中间捕获事件的输出流只能有一个 通过测试流程,验证事件网关是否能够正常使用,将提前转正转正答辩试用期人员转正答辩任务指派给laura 将主管审核任务指派给susan 验证用户: laura``susan 用户 susan是否同意转正:同意转正,定时器设置时间为2016-03-03T12:00 启动流程后, 用户laura会得到提前转正任务,用户susan审核同意后,用户laura会得到转正答辩1个任务,时间到达2016-03-03 12:00后无试用期人员转正答辩任务 启动流程后, 用户laura会得到提前转正任务,用户susan审核同意后,用户laura会得到转正答辩任务,时间到达2016-03-03 12:00后无试用期人员转正答辩任务
2 验证事件网关的中间捕获事件的输出流只能有一个 通过测试流程验证事件网关正常使用,将试用期人员转正答辩任务指派给laura 验证用户: laura设置定时器时间为2016-03-03T12:00,不进行任何操作 当定时器时间到期后用户laura接收到试用期人员转正答辩任务 用户laura任务列表中有试用期人员转正答辩
3 验证事件网关的中间捕获事件的输出流只能有一个 通过测试流程,验证事件网关是否能够正常使用,将提前转正转正答辩试用期人员转正答辩任务指派给laura 将主管审核任务指派给susan 验证用户: laura``susan 用户 susan不进行任何操作 启动流程后, 用户laura会得到提前转正任务,用户susan不进行操作 在定时器时间到时用户laura分配给我的任务列表有试用期人员转正答辩任务
4 验证事件网关的输出类型只能是中间捕获事件 通过流程验证事件网关的输出类型只能是中间捕获事件 1.事件网关后面连接任务类型,2.事件网关后面连接边界事件 流程图不符合规则 提示此流程不符合规矩
5 流程规则 通过流程验证事件网关的输出类型只能是中间捕获事件 事件网关后面连接边界事件 顺序流不能连接边界事件 事件网关后顺序流连接边界事件边界事件图形呈不可连线状态
6 验证事件网关的输出流数量必须大于2 通过流程验证事件网关输出流数量必须大于2个 事件网关输出流数量为1 提示流程不符合规则 没有提示

验正流程

用例1

事件网关 wang wang1 shi1

第一步 启动流程
用户laura分配给我的任务列表有提前转正任务,符合预期

111

填写表单数据

2222

第二步
用户`susan分配给我的任务列表有主管审核任务,符合预期

333

填写表单数据

444
第三步
用户laura分配给我的任务列表有转正答辩任务,符合预期。

5656

用例2

事件网关

shi1 第一步 启动流程
用户laura分配给我的任务列表有提前转正任务,符合预期

111
用户laura不进行任何操作

第二步
定时器时间到后,用户laura分配给我的任务列表有提前申请转正、试用期人员转正答辩2个任务任务,符合预期 232

用例3

![事件网关](http://7xphqb.com1.z0.glb.clouddn.com/1ea07e666474e5472cf03ab219a05b78.png)

shi1

第一步 启动流程
用户laura分配给我的任务列表有提前转正任务,符合预期

111

填写表单数据

2222
第二步
用户`susan分配给我的任务列表有主管审核任务,符合预期

333

不进行操作

第三步 定时器时间到后,用户laura分配给我的任务列表有试用期人员转正答辩任务,符合预期

555

用例 4

222222

第一步 流程设计完成点击调试,提示错误:流程不符合规则,请检查流程,符合预期

用例 5

5656

用例 6

321 第一步 流程设计完成点击调试,提示错误:流程不符合规则,请检查流程,符合预期

验正结果

通过用例验证,充分验证了事件网关在流程中的使用,验证了事件网关在IDE可用。同时验证了事件网关的输出流数量必须大于2, 事件网关的输出流类型只能是中间捕获事件,中间捕获事件的输出流只能有一个

参考链接