Activiti(三)23张表的解释

1.1与部署对象和流程定义相关的表mysql

act_re_deployment:部署数据表,一次部署能够添加多个资源,资源会被保存到资源表(act_ge_bytearray)中;而部署的信息,则保存到部署表中。spring

act_re_procdef:流程定义表,若是发布部署的文件是流程文件,除了将内容保存到资源表外,还会解析流程文件的内容,造成特定的流程定义数据,保存到此表中。sql

act_ge_bytearray:资源表,用来保存资源相应的信息ide

act_ge_property:用来生成下一个主键信息。字体

与流程实例,执行对象,任务相关的表spa

act_ru_execution:正在执行的流程实例表,当流程启动后,会产生一个流程实例,同时会产生相应的执行流,那么流程实例和执行流数据均会被保存到act_ru_execution表中。设计

act_hi_procinst:流程实例的历时表,与act_ru_execution正好对应。对象

act_ru_task:正在执行的任务列表(只有任务节点(UserTask),该表中才有数据)ip

act_hi_actinst:全部活动的历史表(包括全部的节点)
 ci

与流程变量相关的表


act_ru_variable: 正在执行的流程变量表,用来保存在整个流程执行过程当中用到的变量信息

act_hi_varinst :历史的流程变量表,与act_ru_variable正好对应


与组任务表相关的表


act_ru_identitylink :正在执行的组任务表

act_hi_identitylink:历史的人员表

与组织结构相关的表


act_id_group :工做流中的角色表

act_id_user :工做流中的用户表

act_id_membership:中间表,关联关系表


以上就是大体的23张数据表,下面串起来,来把咱们的知识连成线。

 

 下面就经过上面这个流程的例子,来把咱们上述的表给串起来。

首先是部署和流程相关方面的描述,上图从开始到结束是一个完整的流程,因此就是所谓的一次部署act_re_deployment,而后在整个流程中,咱们可能会涉及到多个流程的文件,此时咱们会把文件存储到act_ge_bytearray表中,而后把每一个文件的详细信息存储到act_re_procdef中。

部署完流程完后,就要开始执行咱们的流程了,从开始节点算起,每一个节点都是一个流程实例,正在执行的会存储到act_ru_execution,执行完后,此表就会删除,而后把历史记录存储到act_hi_procinst。中间涉及到的用户任务节点,也就是UserTask节点,历史和正在执行的都会分别存储到act_hi_actinst、act_ru_task中。若是在流程中间执行中,设计到变量的传递,好比咱们想把流程的执行者,做为变量来传递的话,就会存储到act_ru_variable和act_hi_varinst中。

最后,在整个流程执行过程当中,设计到人员的操做信息,存储到act_id_user 中,若是设计到组的概念的话,那么某个用户是属于某个组的,就比如工做里面的部门同样,某些职责只能某些部门来执行,所以在Activi中也涉及到了组的概念,存储到act_id_group ,他们之间的联系用第三张表act_id_membership来关联。

 

表的建立方法
2.1使用官方提供的sql文件

database文件下--create---

2.二、非spring状况下  建立工做流引擎会自动建立表

ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();

2.3使用spring  可配置数据源是否建表

<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
    <property name="dataSource"><ref bean="dataSource"/></property>
    <property name="transactionManager"><ref bean="transactionManager"/></property>
    <property name="databaseType" value="mysql"></property>

    <!-- 没有表建立表 -->
    <property name="databaseSchemaUpdate" value="true"/>
    <!-- 是否激活Activiti的任务调度 -->
    <property name="jobExecutorActivate" value="false"/>
    <property name="processDefinitionCacheLimit" value="10"/>
    <!-- 生成流程图的字体 -->
    <property name="activityFontName" value="宋体"/>
    <property name="labelFontName" value="宋体"/>
</bean>
相关文章
相关标签/搜索