Activiti的核心表
這里我們只關注最重要的幾張表
流程相關:
- act_re_procdef : process definition, 流程定義表票编,所有生效的流程都會在這個表中記錄雕拼。用
version_
字段區(qū)分同一個流程不同的版本棺禾。 - act_re_deployment: 流程部署記錄表好唯,用
id_
和deploy_time_
兩個字段可以確認自己的流程有沒有被正確的部署。之前我遇到過代碼測試一直不符合預期教届,結果發(fā)現(xiàn)是流程xml文件解析失敗橙困。通過這個表可以再校驗下新的流程是否部署成功了署驻。
流程運行相關 runtime table
- act_ru_task
- act_ru_job
- act_ru_execution
要理解上邊runtime表奋献,需要理解execution
, task
, job
的關系和區(qū)別。
參考作者的解釋旺上,翻譯下就是
- 一個流程實例(
process instance
)瓶蚂,可以包含1個或多個execution
。我理解如果一個流程中有分叉宣吱、并行的子流程執(zhí)行窃这,這一個流程的"分叉"就是一個execution
。 - task: 系統(tǒng)/用戶需要做的"邏輯節(jié)點"凌节,有
UserTask
,ServiceTask
,MailTask
等等 - job, 作者說job = a timer or an async continutation of a process, Timer比較好理解,這個async continuation of a process是啥呢? 看代碼的注釋洒试,
interface represents on job (timer, message, etc)
. 看實現(xiàn)Job接口的有JobEntity, TimerEntity, MessageEntity, 可以理解Job就是倒計時節(jié)點倍奢、消息(比如流程執(zhí)行過程中拋出異常了,就會在act_ru_job中記錄一個job).
更詳細的表結構說明可以參考