返回

用表格方式认识Flowable流程引擎中的数据表

后端

Flowable数据表:深入解析流程引擎的内部运作

Flowable简介

Flowable是一个功能强大的开源BPMN 2.0流程引擎,帮助企业轻松构建和部署业务流程。它提供了一系列表来存储流程相关数据,为其高效运作提供了基础。本文将深入探究Flowable的核心数据表及其在流程管理中的作用。

数据表结构

1. ACT_RE_DEPLOYMENT:部署信息

此表存储有关流程部署的信息,包括部署ID、名称、类别、时间和类型。它提供了一个对已部署流程的全面概述。

// Java代码示例
Deployment deployment = repositoryService.createDeployment().addClasspathResource("my-process.bpmn20.xml").deploy();

2. ACT_RE_PROCDEF:流程定义信息

此表包含流程定义详细信息,例如流程定义ID、名称、Key、版本号和。它定义了流程的结构和行为。

// Java代码示例
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("my-process").singleResult();

3. ACT_RE_MODEL:流程模型信息

此表存储流程模型数据,包括模型ID、名称、Key、创建者、创建时间和模型编辑器JSON数据。它提供了流程设计的可视化表示。

// Java代码示例
Model model = repositoryService.createModelQuery().modelKey("my-model").singleResult();

4. ACT_GE_BYTEARRAY:二进制数据

此表存储流程定义文件、流程图、表单数据等二进制数据。它为Flowable的内部运作提供必要的资源。

// Java代码示例
byte[] bytes = repositoryService.getResourceAsStream("my-deployment", "my-resource.png").getBytes();

5. ACT_RE_EXECUTION:流程实例执行信息

此表跟踪流程实例的执行详细信息,包括流程实例ID、流程定义ID、流程变量、当前活动节点和并发性。

// Java代码示例
Execution execution = runtimeService.createExecutionQuery().processInstanceId("my-process-instance").singleResult();

6. ACT_RU_TASK:流程任务信息

此表存储有关流程任务的信息,例如任务ID、流程实例ID、任务名称、执行人、创建时间和。它提供了一个对未完成任务的全面视图。

// Java代码示例
Task task = taskService.createTaskQuery().processInstanceId("my-process-instance").singleResult();

7. ACT_RU_VARIABLE:流程变量信息

此表包含流程变量数据,包括变量ID、流程实例ID、变量名称、值和类型。它为流程的动态行为提供了支持。

// Java代码示例
Variable variable = runtimeService.getVariable("my-process-instance", "my-variable");

8. ACT_HI_PROCINST:历史流程实例信息

此表存储历史流程实例数据,例如流程实例ID、流程定义ID、开始和结束时间,以及删除原因。它提供了对已完成流程的审计追踪。

// Java代码示例
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId("my-process-instance").singleResult();

9. ACT_HI_TASKINST:历史任务实例信息

此表包含历史任务实例信息,例如任务ID、流程实例ID、任务名称、执行人、开始和结束时间。它提供了对已完成任务的完整记录。

// Java代码示例
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().processInstanceId("my-process-instance").singleResult();

理解Flowable数据表的意义

这些数据表为Flowable提供了处理流程实例、执行任务和存储数据所需的基础结构。通过了解这些表的结构和用途,您可以深入了解Flowable的工作原理并对其进行有效自定义。

常见问题解答

  1. 如何创建新的流程定义?
    通过将BPMN 2.0 XML文件部署到Flowable,您可以创建新的流程定义。
  2. 如何启动流程实例?
    使用startProcessInstanceByKey方法或通过API或REST接口触发事件,您可以启动流程实例。
  3. 如何获取任务列表?
    通过调用createTaskQuery方法并指定流程实例ID或其他过滤条件,您可以获取任务列表。
  4. 如何完成任务?
    使用complete方法,您可以完成任务并将其从活动任务列表中删除。
  5. 如何获取历史流程实例信息?
    createHistoricProcessInstanceQuery方法允许您查询已完成流程实例并获取其详细信息。