• Camunda工作流——第三章 网关


      在流程中,通常需要做出选择,也就是进行业务决策。在BPMN中,这个决策用网关(Gateway)来表示。网关用来控制顺序流的分叉(Fork)和连接(Join)。

      只有在需要对流程进行控制的时候才会引入网关。

      排他网关

      当执行到此网关时,将一次评估所有传出序列流,并选择第一个调解评估结果为真(True)的序列来继续这个流程。

      如果不能选择序列流(没有任何条件评估结果为真),也没有定义默认序列流时,将导致运行异常。

      序列流,是流程中两个元素之间的连接器。在流程执行过程中访问一个元素之后,将继续执行所有传出序列流。这意味着BPMN2.0的默认行为是并行的:两个传出序列流将创建两个独立的并行执行路径。

      条件序列流,当结果为真时,将被选为传出序列流。当以这张方式选择多个序列流时,将生成多个执行,并行方式继续进行。

      默认序列流,所有BPMN2.0任务和网关都可以有一个默认的序列流。如果无法选择其他序列流,就仅将此默认序列流作为该活动的传出序列流。默认序列流上的条件会被忽略掉。

      并行网关

      在流程中引入并发性最直接的网关是并行网关,如果同一并行网关有多个传入和传出序列流,网关将首先连续所有传入的序列流,然后再分割成多个并发的执行路径。并行网关与其他网关类型的一个重要区别是,并行网关不会判断条件是否为真。

      包含网关

      包含网关可以看作是排他网关和并行网关的结合。

      事件网关

      事件网关是通过中间事件驱动,它在等待的事件发生后才会触发决策。基于事件的网关允许基于事件作出决策。基于事件的网关中运行的序列流与普通序列流不同。这些序列流实际上从未真正执行过。相反,它们只是告诉流程引擎要到达基于事件的网关需要订阅哪些事件。

      

      

    ##############阁下如果是抄袭,爬取文章作恶或误导他人的开发者,请阅读中国现行法律的相关处罚条例再动手,转载之前最好先验证#############
  • 相关阅读:
    Docker数据卷
    Hyperloglog算法
    Greenplum6.9集群安装文档
    Java实现线程间通信方式
    计算机存储管理方式
    greenplum6.9踩坑总结
    Linux 内核参数Overcommit_memory(最近生产中Airflow和Greenplum有被这个参数坑到......)
    Airflow概念
    airflow安装文档
    基于Docker进行Zookeeper集群的安装
  • 原文地址:https://www.cnblogs.com/chuyuan/p/14676048.html
Copyright © 2020-2023  润新知