探秘 Activiti 数据库表格——从软件工程师的角度解读 (activiti 数据库表格)

Activiti 是一种开源工作流引擎,为用户创建和执行流程提供了方便的方式。作为一名软件工程师,当我们在开发Activiti工作流系统时,必须了解Activiti在数据库中使用的所有表格以便更好地理解Activiti的使用和实现。在本文中,我们将深入探索Activiti数据库表格的细节,并从软件工程师的角度解读其实现方式。

Activiti 表格分类

Activiti的数据库表格可以归类为三类:引擎、存储和历史。引擎表格存储流程定义和实例信息,存储表格存储所有与流程实例执行相关的内容,历史表格存储所有流程执行历史数据。

引擎表格

引擎表格存储流程定义和实例信息。下面是一些常见的引擎表格:

– ACT_RE_PROCDEF:存储流程定义信息。

– ACT_RE_DEPLOYMENT:包含部署流程定义过程的详细信息,例如流程定义的名称、分类、key 等。

– ACT_GE_BYTEARRAY:存储字节类型的数据内容,例如流程文件数据、任务文本等。

– ACT_RU_EXECUTION:存储运行时执行实例信息,例如流程实例、执行 ID 和当前执行的流程状态。

存储表格

存储表格存储所有与流程实例执行相关的内容。下面是一些常见的存储表格:

– ACT_HI_ACTINST:存储所有活动的信息,例如活动名称、开始时间和结束时间。

– ACT_HI_TASKINST:存储所有任务的信息,例如任务名称、开始时间和结束时间。

– ACT_RU_TASK:存储所有流程任务实例的运行时信息,例如任务名称、状态和到期时间。

– ACT_HI_VARINST:存储所有变量实例的历史信息,例如变量名称、数据类型和值。

历史表格

历史表格存储所有流程执行历史数据。下面是一些常见的历史表格:

– ACT_HI_PROCINST:存储流程实例历史数据,例如流程实例 ID、开始时间和结束时间。

– ACT_HI_ACTINST:存储所有活动的历史信息,例如活动名称、开始时间和结束时间。

– ACT_HI_TASKINST:存储所有任务的历史信息,例如任务名称、开始时间和结束时间。

– ACT_HI_VARINST:存储所有变量实例的历史信息,例如变量名称、数据类型和值。

Activiti 表格之间的关系

在Activiti中,表格之间的关系非常重要。例如,一个流程实例会创建一个运行时执行实例,在执行实例的生命周期中,会创建多个任务和活动实例。下面是一些Activiti表格之间的关系示例:

– ACT_RE_PROCDEF 影响 ACT_RU_EXECUTION、ACT_RU_TASK。

– ACT_RE_DEPLOYMENT 影响 ACT_RE_PROCDEF。

– ACT_RU_EXECUTION 影响 ACT_RU_TASK、ACT_HI_PROCINST、ACT_HI_ACTINST、ACT_HI_TASKINST、ACT_HI_VARINST。

– ACT_RU_TASK 影响 ACT_HI_TASKINST。

– ACT_HI_TASKINST 汇总 ACT_HI_PROCINST。

从这些关系可以看出,当我们了解Activiti表格之间的关系时,就能更好地理解Activiti的使用和实现。

Activiti 表格概览

下面是一张Activiti表格及其描述的概览表:

| 数据库表格 | 描述 |

| — | — |

| ACT_GE_PROPERTY | 存储当永久化流程引擎中可设置的属性。 |

| ACT_GE_BYTEARRAY | 存储所有流程文件和文件资源的二进制内容。 |

| ACT_RE_DEPLOYMENT | 存储流程部署的详细信息。 |

| ACT_RE_PROCDEF | 存储流程定义的静态信息。 |

| ACT_RU_EXECUTION | 存储运行时流程执行实例的运行状态。 |

| ACT_RU_TASK | 存储所有流程任务实例的运行时信息。 |

| ACT_HI_TASKINST | 存储流程历史任务实例的信息。 |

| ACT_HI_VARINST | 存储流程历史变量的信息。 |

| ACT_HI_ACTINST | 存储流程历史活动实例的信息。 |

| ACT_HI_PROCINST | 存储流程历史实例的信息。 |

| ACT_HI_DETL | 用户存储所有历史记录数据,无论记录数据是流程的哪个方面的。 |

结论

在本文中,我们深入探讨了Activiti数据库表格的细节,并从软件工程师的角度解读了其实现方式。我们发现,Activiti表格被分为三类(引擎、存储和历史),各表格之间存在关联关系,这些知识对我们建立和执行工作流有很大的帮助。如果您正在使用Activiti,在您的开发、测试和部署过程中使用这些表格将大有裨益。

相关问题拓展阅读:

activiti 怎么获取变量

Activit默认提供了4中历史级别:

none: 不保存任何历史记录,可以提高系统性能;

activity:保存所有的流程实例、任务、活动信息;

audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;

full: 最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。

对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full。

添加流程变量

1、在启动流程实例时,可以添加流程变量。  

1) 在启动流程实例时,通过重载startProcessInstanceByKey的方法可以加载流程变量。

2) 第二个参数要求是Map类型,可以添加多个流程变量。

3) 这段代码执行完,会在数据库表act_ru_variable中添加两行记录。

2、在办理任务时,任务办理完成后,要传递一些信息到系统中。这个时候可以利用TaskService这个类来添加流程实例。public void setVar() throws Exception {String processInstanceId = “1901”;Task task =taskService.createTaskQuery().taskAssignee(“manager”).processInstanceId(processInstanceId ).singleResult();//String taskId/*** 在办理过程中设

说明:

  1) 利用setVariables方法在任务办理过程中添加一批流程变量。

  2) 利用setVariable方法在任务办理过程中添加一个流程变量。

  3) TaskService有一个重载 complete方法

3、执行流程实例时直接在Execution上设置流程变量

获取流程变量可以通过runTimeService的方法来获取流程变量。

说明:流程变量是从act_ru_variable这个表中读出来的。

关于activiti 数据库表格的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 探秘 Activiti 数据库表格——从软件工程师的角度解读 (activiti 数据库表格)