用表格方式认识Flowable流程引擎中的数据表
2023-07-03 00:27:29
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的工作原理并对其进行有效自定义。
常见问题解答
- 如何创建新的流程定义?
通过将BPMN 2.0 XML文件部署到Flowable,您可以创建新的流程定义。 - 如何启动流程实例?
使用startProcessInstanceByKey
方法或通过API或REST接口触发事件,您可以启动流程实例。 - 如何获取任务列表?
通过调用createTaskQuery
方法并指定流程实例ID或其他过滤条件,您可以获取任务列表。 - 如何完成任务?
使用complete
方法,您可以完成任务并将其从活动任务列表中删除。 - 如何获取历史流程实例信息?
createHistoricProcessInstanceQuery
方法允许您查询已完成流程实例并获取其详细信息。