Camunda工作流——第三章 網關


  在流程中,通常需要做出選擇,也就是進行業務決策。在BPMN中,這個決策用網關(Gateway)來表示。網關用來控制順序流的分叉(Fork)和連接(Join)。

  只有在需要對流程進行控制的時候才會引入網關。

  排他網關

  當執行到此網關時,將一次評估所有傳出序列流,並選擇第一個調解評估結果為真(True)的序列來繼續這個流程。

  如果不能選擇序列流(沒有任何條件評估結果為真),也沒有定義默認序列流時,將導致運行異常。

  序列流,是流程中兩個元素之間的連接器。在流程執行過程中訪問一個元素之后,將繼續執行所有傳出序列流。這意味着BPMN2.0的默認行為是並行的:兩個傳出序列流將創建兩個獨立的並行執行路徑。

  條件序列流,當結果為真時,將被選為傳出序列流。當以這張方式選擇多個序列流時,將生成多個執行,並行方式繼續進行。

  默認序列流,所有BPMN2.0任務和網關都可以有一個默認的序列流。如果無法選擇其他序列流,就僅將此默認序列流作為該活動的傳出序列流。默認序列流上的條件會被忽略掉。

  並行網關

  在流程中引入並發性最直接的網關是並行網關,如果同一並行網關有多個傳入和傳出序列流,網關將首先連續所有傳入的序列流,然后再分割成多個並發的執行路徑。並行網關與其他網關類型的一個重要區別是,並行網關不會判斷條件是否為真。

  包含網關

  包含網關可以看作是排他網關和並行網關的結合。

  事件網關

  事件網關是通過中間事件驅動,它在等待的事件發生后才會觸發決策。基於事件的網關允許基於事件作出決策。基於事件的網關中運行的序列流與普通序列流不同。這些序列流實際上從未真正執行過。相反,它們只是告訴流程引擎要到達基於事件的網關需要訂閱哪些事件。

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM