Flowable6.4.1流程分析:核心表act_ru_execution深度解析

需积分: 21 5 下载量 96 浏览量 更新于2024-08-12 收藏 181KB DOCX 举报
"Flowable6.4.1的文档提供了对流程生命周期和数据库表之间关系的深入理解,特别强调了核心表ACT_RU_EXECUTION的关键字段及其作用。文档通过具体的例子解释了流程实例、分支实例以及它们如何在数据库中表示。" Flowable是一款强大的开源工作流引擎,它支持复杂的业务流程自动化。在Flowable中,流程的生命周期管理和执行信息存储在一系列数据库表中,其中ACT_RU_EXECUTION表起着至关重要的作用。 首先,术语部分明确了流程生命周期与数据库表之间的联系。流程实例的创建、运行和结束都会在ACT_RU_EXECUTION表中留下痕迹,这使得我们可以追踪和管理流程的状态。 ACT_RU_EXECUTION表是工作流程的核心表,它包含了流程实例的实时运行信息。表中的各个字段有特定的含义: - **ID_**: 每个执行记录的唯一标识,有时也可能作为PROC_INST_ID_的值,表明该记录为主实例。 - **REV_**: 表示记录的修订版本,用于跟踪数据库的更新。 - **PROC_INST_ID_**: 流程实例的全局唯一标识,无论流程有多少分支,这个ID始终不变。 - **BUSINESS_KEY_**: 业务主键,仅主流程实例使用,并且在表中具有唯一性约束,关联实际业务数据。 - **PARENT_ID_**: 父实例的ID,例如,从同步节点分叉出的子流程记录的父ID就是主线ID。 - **PROC_DEF_ID_**: 流程定义的ID,指定了执行实例遵循的流程模型。 - **SUPER_EXEC**: 如果存在,表示当前记录属于一个外部子流程,其值为父流程的ID。 - **ACT_ID_**: 当前流程实例所处的活动节点,如用户任务或网关。 - **IS_ACTIVE_**: 标识流程实例是否处于活动状态,完成的实例会被标记为非活动。 - **IS_CONCURRENT_**: 表示流程是否并发执行,例如,同步节点后的分支或并发多实例。 - **IS_SCOPE_**: 主实例通常值为1,子实例通常值为0,表明实例的范围。 - **TENANT_ID_**: 租户ID,支持多租户设计。 - **IS_EVENT_SCOPE**: 若未涉及事件订阅,通常为0。 通过这些字段,Flowable能够精确地跟踪流程实例的状态,包括活动、并发、同步和挂起等,从而实现灵活的流程控制和监控。在实际应用中,理解这些概念和字段对于有效地设计、调试和优化基于Flowable的工作流至关重要。