activit6.0使用經驗

最近在做公司B端業務,要用到工作流,上一篇文章記錄了技術調研的結果,現在開始記錄使用時的架構設計和常見的問題:

一:架構體系:

我們考慮到擴展性,易用性,隔離性,動態性,把表單和審批人設置的功能都拆成了單獨的服務所以我們的工作流審批模塊主要包括:

1.原生的activiti6引擎:負責流程流轉

2.外置表單服務:流程部署後根據流程實例設置所有節點的表單,流程啓動時通過外置表單引導用戶填寫信息

3.用戶節點服務:流程部署後根據流程實例設置所有的節點的用戶組,在任務節點開始通過監聽器到用戶服務獲取該節點的審批人

考慮到模型圖的正確性,提供β測試版本,測試通過發佈後用戶可見可用

下面給個時序圖:

 

 

 

二.開發過程遇到的問題(持續更新)

 1.β版本和release版本的設計:

 activit6官方提供的app設計流程有個流程版本號的字段,但是實際使用了下沒有生效,數據庫並沒有更新

方案:利用act_re_procdef 表 engine_version_來做,自定義sql執行,流程創建時該字段爲空,發佈後設置爲1,前端返回數據增加判斷

2.自定義sql執行的bug

NativeProcessDefinitionQuery processDefinitionQuery = repositoryService.createNativeProcessDefinitionQuery();
processDefinitionQuery.count() 有bug,參數類型不匹配,數據爲空報錯,改爲:processDefinitionQuery.list().size();

 

持續更新,項目上線後繼續更新

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章