多數據庫下activiti的流程定義緩存問題
來源:程序員人生 發布時間:2014-11-18 08:27:12 閱讀次數:2857次
我們使用activiti(5.14版本)作為流程引擎,今天在產品中發現1個問題,某流程的審批記錄中,
活動實例表中記錄的活動名稱(ACT_HI_ACTINST表的ACT_NAME)居然是該流程中不存在的活動名稱,
確認了該流程沒有被修改升級過。
后來發現了是activiti緩存的問題,我們的產品是支持多公司使用的,各個公司分別使用不同的http://www.jyygyx.com/db/,
因此不同公司下activiti生成的流程定義ID有可能重復(ACT_RE_PROCDEF的ID_字段),例如A公司和B公司都存在名為Proc:1:104的流程。
這時候候,activiti的緩存機制只會加載其中1個到內存中(先使用的先加載),因此就會出現A公司使用了B公司流程的問題。
解決方案:定義流程時,給流程定義ID加上1個公司ID的標識,這樣就可以保證全系統唯1。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈