流程引擎开发经验
如果通过 processDefinitionId 来启动一个流程,那么代表启动流程定义的某一个版本,如果通过 processDefinitionKey 来启动流程,那么将会始终启动流程定义的最新版本
注意:PageHelper不起作用
processInstanceId 和 executionId
Execution 和 ProcessInstance 都用于获取当前流程实例的相关信息。
当流程中没有分支时,Execution等同于ProcessInstance,甚至连ID也相同;
当流程中存在分支(fork, parallel gateway),则在分支口会形成子Execution,在下一个gateway才会合并(joined)
新启动的流程,观察ACT_RU_EXECUTION表中:
PARENT_ID_字段有值为执行实例,流程实例为NULL;
ACT_ID_字段有值为执行实例,流程实例为NULL;
IS_ACTIVE_字段为0为流程实例,为1为执行实例。