BPMN繪圖控件的相關介紹:
- 連線
- 排他網關
- 並行網關
- 開始活動節點
- 接收活動(receiveTask,即等待活動)
- 用戶任務(userTask,即用戶操作的任務)
一、連線
1.1
流程圖
注意:如果將流程圖放置在和java類相同的路徑,需要配置
1.2
部署流程定義+啓動流程實例
1.3
查詢我的個人任務
1.4
完成任務
說明:
1)使用流程變量,設置連線需要和流程變量的名稱message,並設置流程變量的值
對應:
流程會按照指定的連線完成任務。
1.5
總結
1、一個活動中可以指定一個或多個SequenceFlow(Start中有一個,End中沒有)。
* 開始活動中有一個SequenceFlow
* 結束活動中沒有SequenceFlow
* 其他活動中有1條或多條SequenceFlow
2、如果只有一個,則可以不使用流程變量設置codition的名稱
如果有多個,則需要使用流程變量設置codition的名稱,message表示流程變量的名稱,‘不重要’表示流程變量的值,${}中間的內容要使用boolean類型的表達式,
用來判斷應該執行的連線。
二、排他網關(ExclusiveGateWay)
2.1
流程圖
2.2
部署流程定義+啓動流程實例
2.3
查詢我的個人任務
2.4
完成我的個人任務
說明:
1)一個排他網關對應一個以上的順序流
2)由排他網關流出的順序流都有個conditionExpression元素,在內部維護返回boolean類型的決策結果
3)決策網關只會返回一條結果,當流程執行到排他網關時,流程引擎會自動檢索網關出口,從上到下檢索如果發現第一條決策結果true或者沒有設置條件的(默認
爲成立),則流出
4)如果沒有任何一個出口符合條件,則拋出異常
5)使用流程變量,設置連線的條件,並按照連線的條件執行工作流,如果沒有條件符合的條件,則以默認的連線離開,例如:
則執行連線:
如果使用流程變量設置
則執行連線:
三、並行網關(paralleGateWay)
3.1
流程圖
3.2
部署流程定義+啓動流程實例
3.3
查詢我的個人任務
3.4
完成我的個人任務
說明:
1)一個流程中流程實例只有1個,執行對象有多個
2)並行網關的功能是基於進入和外出的順序流的:
分支(fork):並行後的所有外出順序流,爲每個順序流都創建一個併發分支。
匯聚(join):所有到達並行網關,在此等待的進入分支,直到所有進入順序流的分支都到達以後,流程就會通過匯聚網關。
3)並行網關的進入和外出都是使用相同節點標識
4)如果同一個並行網關有多個進入和多個外出順序流,它就同時具有分支和匯聚功能。這時,網關會先匯聚所有進入的順序流,然後再切分成多個並行分支
5)並行網關不會解析條件。即使順序流中定義了條件,也會被忽略。
6)並行網關不需要是“平衡的”(比如:對應並行網關的進入和外出節點數目不一定相等),如圖:
四、開始活動節點
4.1
流程圖
4.2
部署流程定義+啓動流程實例+查詢流程實例+查詢歷史流程實例
4.3
總結
1)結束節點沒有出口
2)其他節點有一個或多個出口
如果有一個出口,則代表是一個單線流程;
如果有多個出口,則代表是開啓併發流程;
五、接收活動(receiveTask,即等待活動)
5.1
流程圖
5.2
部署流程定義+啓動流程實例+執行流程實例+查詢流程實例
說明:
1)當前任務(一般指機器自動完成,但需要耗費一定時間的工作)完成後,向後推移流程,可以調用runtimeService.signal(executionId),傳遞接收執行對象的id.
六、用戶任務(userTask,即用戶操作的任務)
6.1
個人任務
查看上一章節
6.2
組任務
查看上一章節