网关与子流程

网关

网关是用于控制流程的走向,也成为执行令牌,根据功能不同可以分为:排他网关,并行网关,包容网关,事件网关。

排他网关

排他网关(exclusive-gateway) 也称为 XOR gateway,用来对流程中的决定进行建模,流程执行到该网关是,按照输出流的顺序逐个计算,当条件为true时,继续执行该网关的输出。
值得注意的是,在排他网关中,如果多个线路的计算都为true,那么只会执行第一个为true的网关,忽略其他表达式为true的网关。


image.png

对应的XML描述:

 

排他网关案例:


image.png

        

        

        

        

        

        

        

        
            
                
            
        

        

        

        
            
                
            
        

        

        

        
            
                
            
        

    
并行网关

并行网关是对并发的任务进行建模处理,它能把单条线路拆分成多个路径并行执行,或者将多个路径合并处理。


image.png

对应的XML描述:


            
        

并行网关的功能决定于输入和输出顺序流:

  • 拆分
    并行执行所有的输出顺序流,并且为每一条顺序流创建一个并行执行线路
  • 合并
    所有从并行网关拆分并执行完成的线路都在此等候,直到所有线路都执行完成才继续向下执行
    并行网关如果设置了条件,直接会被忽略掉。
    并行网关案例:


    image.png
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
包容网关

包容网关融合了排他网关和并行网关的特性,排他网关允许在每条线路上设置条件,并行网关可以同时执行多个线程,包容网关既可以执行多个线路又允许在网关上设置条件。


image.png
   
      
    
  • 拆分
    计算每条线路上的表达式,当表达式为true的时候,创建一个并行线路并继续执行
  • 合并
    所有从并行网关拆分并执行完成的线路均再次等候,直到所有线路都执行完才继续执行。
    包容网关案例:


    image.png
  
    
    
    
    
    
    
    
    
    
    
    
      
    
    
    
    
      
    
    
  
事件网关

事件网关是专门为中间捕获事件设置的,它允许设置多个输出流指向多个不同的中间捕获事件。

子流程

子流程就是把一系列需要处理的任务归结到大流程的一部分,就叫做子流程。


image.png

对应的XML描述:

 
      
    

对子流程的一些限制

  • 只能包含一个空启动事件
  • 至少要有一个结束事件
  • 在子流程中顺序流程不能直接设置输出到子流程以外的活动上

事件子流程

事件子流程和子流程类似,不同的是事件子流程不能直接启动,需要被动启动,需要其他事件触发


image.png

对应的XML描述:

 
      
    

事物子流程

事物子流程也称为事务块,用来处理必须在同一个事务中完成的活动,满足事务的特性。


image.png

对应的XML描述:

   
      
    

你可能感兴趣的:(网关与子流程)