舉一個新增流程的例子:前端
這是動態生成的界面,4個字段,流程分類、流程名稱、流程KEY和描述數據庫
多出了狀態和版本,這兩個字段。這個是通用的界面,通用的保存,在哪裏注入這兩個缺省的字段值呢?也就是說,新增界面是通用生成的,查詢表格也是動態生成的,可是查詢表格多出了「狀態」和」 版本」這兩個字段,並且這兩個缺省值,只有流程管理界面有,其它界面沒有,假如一個個性化的租戶租戶界面的需求,就是這麼樣子的,該如何解決呢?後端
mongoDBService 這是缺省的Service架構
當遇到租戶id是5,而且是保存流程的時候,用bpmnService替換缺省的mongoDBServiceblog
在BpmnService裏面寫入狀態和版本這兩個缺省值token
其實,原來通用的OA和BPM,我估計思路也是差很少的,可是傳統OA和BPM不是用Spring boot和Spring cloud架構的,如何動態激活BpmnService?並放置在Spring Context上下文,由Spring 管理Service的生命週期,從而避免內存泄漏,數據庫鏈接池泄漏,不是基於Spring boot架構的BPM和OA是很難解決的,因此你就看到,大量基於BPM的單體應用,使用了一段時間後,系統就運行緩慢,要麼CPU 100%,要麼內存 100%,要麼數據庫鏈接池不夠,就是這個緣由。生命週期