Activiti5:act_ru_execution 流程执行实例分析
ACTIVITI ACT_RU_EXECUTION 表
这个表是工作流程的核心表,流程的驱动都和合格表有密切的关系。
一般来讲一个流程实例都有一条主线。如果流程为直线流程,那么流程实例在这个表中只有一条记录对应。
**ID_**:EXECUTION主键,这个主键有可能和PROC_INST_ID_相同,相同的情况表示这条记录为主实例记录。
**REV_**:表示数据库表更新次数。
**PROC_INST_ID_**:一个流程实例不管有多少条分支实例,这个ID都是一致的。
比如以下流程:
![image](http://upload-images.jianshu.io/upload_images/9637717-e8b77292495de096.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这个对应的EXECUTION数据为:
![image](http://upload-images.jianshu.io/upload_images/9637717-22b64306b72e65c4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**BUSINESS_KEY_**:这个为业务主键,主流程才会使用业务主键,另外这个业务主键字段在表中有唯一约束。
**PARENT_ID_**:这个记录表示父实例ID,如上图,同步节点会产生两条执行记录,这两条记录的父ID为主线的ID。
**PROC_DEF_ID_ :**流程定义ID
**SUPER_EXEC** : 这个如果存在表示这个实例记录为一个外部子流程记录,对应主流程的主键ID。
**ACT_ID_**:表示流程运行到的节点,如上图主实例运行到ANDGateway1 节点。
两个子实例运行到UserTask1,UserTask2节点。
**IS_ACTIVE_ : **是否活动流程实例,比如上图,主流程为非活动实例,下面两个为活动实例,如果UserTask2完成,那么这个值将变为0即非活动。
**IS_CONCURRENT_:**是否并发。上图同步节点后为并发,如果是并发多实例也是为1。
**IS_SCOPE_**: 这个字段我跟踪了一下不同的流程实例,如会签,子流程,同步等情况,发现主实例的情况这个字段为1,子实例这个字段为0。
**TENANT_ID_ :** 这个字段表示租户ID。可以应对多租户的设计。
**IS_EVENT_SCOPE**: 没有使用到事件的情况下,一般都为0。
**SUSPENSION_STATE_**: 这个表示是否暂停。
热爱孤独生活
posted on 2019-07-18 17:22 rigidwang 阅读(3385) 评论(0) 编辑 收藏 举报