Skip to content

流程网关

网关作用

流程中的网关用于控制顺序流的分支和汇合,如果不需要进行顺序流的控制,则可以不使用网关

排他网管

排他网关就好像一个人走到了一个岔路口,只能选择一条路前进,至于选择哪条路由顺序流的条件决定 2-2.png 可在流程线上设置条件,当条件满足时,流程将按照条件进行流转 该条件中设置的money大于10000,则流程将流转到分支1,否则流转到分支2 该条件中的流程变量可在流程提交时候进行传递(需要获取业务数据中的数据,提交流程时进行传递)

并行网关

并行网关对执行流会有两种行为:分岔和合并

  • 分岔:可以让一个执行流变为多个同时进行的并发执行流
  • 合并:可以让多个执行流合并为一个执行流

并行网关并不要求成对出现,即有了分岔并不一定有合并,有了合并也不一定有分岔 一个并行网关允许同时出现分岔和合并两种行为,即多个执行流到达该并行网关时被合并,然后随机又被分岔为多个执行流

与其他网关的主要区别是,并行网关不会解析流条件。 即使顺序流中定义了流条件,也会被忽略

2-1.png

包容网关

包含网关可以看做是排他网关和并行网关的结合体。 和排他网关一样,你可以在外出顺序流上定义流条件,包含网关会解析它们。 但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关一样

包含网关就好像是互斥网关和并行网关的结合体,即可以当排他网关使用,也可以当并行网关使用

当排他网关使用

  • 当排他网关使用时,需要为从包含网关输出的顺序流 1 和顺序流 2 设置流条件
  • 如果只有一个顺序流的条件满足要求,则就走这个顺序流
  • 如果有多个顺序流的条件满足要求,则会 并行 走满足条件的 所有的 顺序流(这点和排他网关有区别,排他网关是哪个顺序流的定义在流程文件中靠前,走哪个顺序流)
  • 如果没有顺序流的条件满足要求,则抛出异常

当并行网关使用

当并行网关使用时,不能为从包含网关输出的顺序流 1 和顺序流 2 设置流条件;这样以来它就和并行网关的特性一模一样,既有分岔行为也有合并行为,且处理方式也和并行网关一致