因為電腦還在托運中,現在手上這台垃圾電腦實在是沒法玩微服務,所以趁着這兩天玩玩Activiti吧。
說實話,在學習Activiti中走了N多彎路,最大的原因就是網上沒有一個完整(好)的教程,甚至連官方的文檔坑也是巨多,比如默認是h2數據庫,其它數據庫需要手動指定之類就沒寫明。所以我決定站出來,寫出一篇能讓很多人在學習Activiti時少走點彎路的筆記。
首先,因為我使用的工具是STS(Eclipse安裝一些Spring提供的插件),所以我們需要安裝一個activiti-desgner插件,這是為了后面畫流程圖用的,具體安裝方法百度即可,我這里提供一個安裝包,因為官網下載巨慢無比,還超級卡,最重要的是容易失敗,所以推薦使用此安裝包進行離線安裝。
鏈接:https://pan.baidu.com/s/1i6Pwbwp 密碼:xksi
因為springboot比較好用,所以我們創建一個springboot項目
這是pom文件,引入activiti基本包以及mysql驅動包
其實如果使用的是STS的話,直接右鍵創建springboot項目,然后在創建界面可以直接選包,十分方便。
這是yml文件
配置寫完后可以直接右鍵啟動,不過注意,先在mysql中創建一個對應的數據庫
通過觀察日志我們發現,它讀取並執行了三個sql文件
這三個sql文件分別是
engine:引擎
history:歷史
identity:認證
而在數據庫中則生成了下面這25張表
使用插件創建一個bpmn流程圖文件吧
創建成功后,我們點一下startEvent這個按鈕然后再按一下空白處,並且打開Properties控制台,並將id和name改為與我們bpmn文件名相同(這是規范)
保存一下,然后使用xml格式打開,這個操作沒法截圖,就是右擊,然后open with,就能看到了
看到這差不多清楚了吧,其實流程圖插件所做的就是將xml配置圖形化了,方便我們開發。我們關注process標簽里的元素即可,下面的是它在流程圖里的大小和坐標位置。
我們來創建一個完成的審批任務鏈吧
此時再以xml格式打開
此時可以看到,除了本身任務節點被記錄外,還有一個類似鏈表形式的序列節點,讓每個任務按照我們圖表中定義的那樣產生了關聯.
現在有點晚了,明天再繼續寫下去吧,不得不說spring boot簡直太強大了,很多配置我們完全不用去做,直接拿着用(自動注入)就行了。明天的筆記里應該會有體現;