Activiti6.0教程(1) - 環境搭建, 畫一個流程圖
公司業務需要, 學習了一下Activiti, 做個系列部落格來總結一下折騰的成果
Activiti能幹啥?
它就是用來管理流程的, 處理業務流程的
舉個例子, 在網上下單買東西, 訂單的狀態要有(下單, 發貨, 付款, 收貨, 評價) 等多個狀態, 這裡列的還是少的, 如果業務複雜些, 這種狀態可能可以達到幾十甚至上百個, 這時候如果還用程式碼去管理狀態, 第一程式碼不好寫, 總會出問題, 第二寫程式碼的人很容易就弄錯了, 程式碼的bug也就多了
Activiti就是通過在最開始時定義好一個流程, 大家開發使用中的業務流程都按這個來, 少了很多扯皮, 程式碼也好維護了
先丟擲一個問題?
Q: 一個流程定義好了, 流程圖也畫好了, 那後面如果流程圖有變動, 是重啟部署一份, 還是Activiti會自動更新前一份版本的部署呢?
A: 在springboot專案裡, 專案在啟動的時候會重新部署一份, 後面的流程也就自然走更新後的部署例項了
定義流程圖
idea裡有兩個外掛可以畫流程圖, 不過都不好用, 還是建議在eclipse裡畫, 當然也可以下載 activiti 的war包部署在tomcat裡, 啟動服務, 在網頁上畫, 這種我沒折騰過, 我就在eclipse裡畫了
安裝外掛
eclipse裡安裝activiti外掛網上教程一堆, 這裡不多說, 兩種方式
- 線上安裝, 連結是: http://www.activiti.org/designer/update
- 這種方法我昨天在配置環境的時候, 連結一直打不開, 不知道現在怎麼樣了, 如果線上的方法不行,可以嘗試使用第二種方法
- 到 https://github.com/Activiti/Activiti-Designer/releases 裡下載最新的 zip 包, 然後安裝
建立一個bpmn檔案
在eclipse裡建立一個專案, 空專案即可, 在專案裡找一個資料夾, 右鍵 -> New -> Other -> Activiti -> Activiti Diagram
輸入一個名字就可以了
建立好之後介面長這個樣
常用元件介紹
在介面右邊可以看見有很多的 東西
, 有 事件
任務
容器
閘道器
等等, 常用的有以下幾個
- Palette 連線的
- Start event 開啟任務事件
- End event 任務結束事件
- Task 任務(使用者任務, 接收任務)
- Gateway 閘道器(並行閘道器, 排它閘道器)
原連結文: https://tomoya92.github.io/2019/04/24/activiti-env/
至於其它的我還沒有了解到, 感覺有了這些就已經夠用了, 後面業務複雜要是用到其它的功能,再來更新部落格
在介面下面有一些屬性的設定介面(這是針對流程圖的設定)
常用的有
- Process 針對流程圖的一些設定
- General 針對任務的一些設定
- Listeners 給任務設定受理人的監聽器
- Main config 在任務裡主要是設定受理人的地方, 在連線上主要是設定條件判斷的
畫一張請假流程圖
注意
- 一個流程圖必須要有一個啟動事件, 一個結束事件
- 當一個任務上有多於一條連線時, 必須給不同線設定不同的處理邏輯
- 給任務設定受理人有三種方式
- 寫死(不推薦)
- 變數方式配置(我比較喜歡)
- 監聽器配置(這個還要在程式裡寫實現, 不過會更靈活, 看具體需求定)
具體設定地方如下
總結
這篇部落格是給完全新手看的, 如果你對流程有一定的理解可以不用看這篇部落格
如果部落格中有不全的地方, 歡迎在下面留言指出, 謝謝!
寫部落格不易,轉載請保留原文連結,謝謝!
原文連結: