Activiti数据表解析

白昼怎懂夜的黑 提交于 2020-04-13 14:35:27

【今日推荐】:为什么一到面试就懵逼!>>>

一 BPMN文件

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn"
    xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
    xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema"
    expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
    <process id="process1" name="process1">
        <startEvent id="startevent1" name="Start"></startEvent>
        <userTask id="usertask1" name="Expense Request"></userTask>
        <userTask id="usertask3" name="Handle Request"></userTask>
        <endEvent id="endevent1" name="End"></endEvent>
        <sequenceFlow id="flow1" name="" sourceRef="startevent1"
            targetRef="usertask1"></sequenceFlow>
        <sequenceFlow id="flow2" name="" sourceRef="usertask1"
            targetRef="usertask3"></sequenceFlow>
        <sequenceFlow id="flow3" name="" sourceRef="usertask3"
            targetRef="endevent1"></sequenceFlow>
    </process>
......
</definitions>

二 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">
   <!-- 流程引擎配置的bean -->
   <bean id="processEngineConfiguration"
      class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
      <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/act" />
      <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
      <property name="jdbcUsername" value="root" />
      <property name="jdbcPassword" value="123456" />
      <property name="databaseSchemaUpdate" value="true" />
   </bean>
</beans>

三 代码

package com.syc.activiti;


import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;

public class First {
   public static void main(String[] args) {
      // 创建流程引擎
      ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
      // 得到流程存储服务组件
      RepositoryService repositoryService = engine.getRepositoryService();
      // 得到运行时服务组件
      RuntimeService runtimeService = engine.getRuntimeService();
      // 获取流程任务组件
      TaskService taskService = engine.getTaskService();
      // 部署流程文件
      repositoryService.createDeployment()
            .addClasspathResource("bpmn/First.bpmn").deploy();
      // 启动流程
      runtimeService.startProcessInstanceByKey("process1");
      // 查询第一个任务
      Task task = taskService.createTaskQuery().singleResult();
      System.out.println("第一个任务完成前,当前任务名称:" + task.getName());
      // 完成第一个任务
      taskService.complete(task.getId());
      // 查询第二个任务
      task = taskService.createTaskQuery().singleResult();
      System.out.println("第二个任务完成前,当前任务名称:" + task.getName());
      // 完成第二个任务(流程结束)
      taskService.complete(task.getId());
      task = taskService.createTaskQuery().singleResult();
      System.out.println("流程结束后,查找任务:" + task);
   }
}

四 运行结果

第一个任务完成前,当前任务名称:Expense Request
第二个任务完成前,当前任务名称:Handle Request
流程结束后,查找任务:null

五 数据表数据解析

1 act_ge_bytearray

REV_:数据版本,加入该字段,用来表示该数据被操作的次数。

NAME_:资源名称。

DEPLOYMENT_ID_:一次部署可以添加多个资源,该字段与部署表act_re_deployment的主键相关联。

BYTES_:资源内容。

GENERATED_:是否由Activiti自动产生的资源,0表示false,1表示true。

2  act_ge_property

mysql> select * from act_ge_property;
+--------------------------------------+-----------------+------+
| NAME_                                | VALUE_          | REV_ |
+--------------------------------------+-----------------+------+
| cfg.execution-related-entities-count | false           |    1 |
| next.dbid                            | 2501            |    2 |
| schema.history                       | create(6.0.0.4) |    1 |
| schema.version                       | 6.0.0.4         |    1 |
+--------------------------------------+-----------------+------+
4 rows in set (0.00 sec)

NAME_:属性名称。

VALUE_:属性值。

REV_:数据版本,加入该字段,用来表示该数据被操作的次数。

3 act_hi_actinst

mysql> select * from act_hi_actinst;
+-----+--------------+---------------+---------------+-------------+----------+--------------------+-----------------+------------+-----------+-------------------------+-------------------------+-----------+----------------+------------+
| ID_ | PROC_DEF_ID_ | PROC_INST_ID_ | EXECUTION_ID_ | ACT_ID_     | TASK_ID_ | CALL_PROC_INST_ID_ | ACT_NAME_       | ACT_TYPE_  | ASSIGNEE_ | START_TIME_             | END_TIME_               | DURATION_ | DELETE_REASON_ | TENANT_ID_ |
+-----+--------------+---------------+---------------+-------------+----------+--------------------+-----------------+------------+-----------+-------------------------+-------------------------+-----------+----------------+------------+
| 10  | process1:1:4 | 5             | 6             | usertask3   | 11       | NULL               | Handle Request  | userTask   | NULL      | 2020-04-12 19:46:18.025 | 2020-04-12 19:46:18.226 |       201 | NULL           |            |
| 12  | process1:1:4 | 5             | 6             | endevent1   | NULL     | NULL               | End             | endEvent   | NULL      | 2020-04-12 19:46:18.228 | 2020-04-12 19:46:18.228 |         0 | NULL           |            |
| 7   | process1:1:4 | 5             | 6             | startevent1 | NULL     | NULL               | Start           | startEvent | NULL      | 2020-04-12 19:46:17.838 | 2020-04-12 19:46:17.840 |         2 | NULL           |            |
| 8   | process1:1:4 | 5             | 6             | usertask1   | 9        | NULL               | Expense Request | userTask   | NULL      | 2020-04-12 19:46:17.841 | 2020-04-12 19:46:18.025 |       184 | NULL           |            |
+-----+--------------+---------------+---------------+-------------+----------+--------------------+-----------------+------------+-----------+-------------------------+-------------------------+-----------+----------------+------------+
4 rows in set (0.00 sec)

该表会记录每一个流程实例,一个流程活动将会被记录为一条数据,根据该表可以追踪最完整的流程信息。

4 act_hi_procinst

mysql> select * from act_hi_procinst;
+-----+---------------+---------------+--------------+-------------------------+-------------------------+-----------+----------------+---------------+-------------+----------------------------+----------------+------------+-------+
| ID_ | PROC_INST_ID_ | BUSINESS_KEY_ | PROC_DEF_ID_ | START_TIME_             | END_TIME_               | DURATION_ | START_USER_ID_ | START_ACT_ID_ | END_ACT_ID_ | SUPER_PROCESS_INSTANCE_ID_ | DELETE_REASON_ | TENANT_ID_ | NAME_ |
+-----+---------------+---------------+--------------+-------------------------+-------------------------+-----------+----------------+---------------+-------------+----------------------------+----------------+------------+-------+
| 5   | 5             | NULL          | process1:1:4 | 2020-04-12 19:46:17.837 | 2020-04-12 19:46:18.261 |       424 | NULL           | startevent1   | endevent1   | NULL                       | NULL           |            | NULL  |
+-----+---------------+---------------+--------------+-------------------------+-------------------------+-----------+----------------+---------------+-------------+----------------------------+----------------+------------+-------+

START_ACT_ID_:开始活动的ID。

END_ACT_ID_:流程最后一个活动的ID。

DELETE_REASON_:该流程实例被删除的原因。

5 act_hi_taskinst

mysql> select * from act_hi_taskinst;
+-----+--------------+---------------+---------------+---------------+-----------------+-----------------+--------------+--------+-----------+-------------------------+-------------+-------------------------+-----------+----------------+-----------+-----------+-----------+-----------+------------+
| ID_ | PROC_DEF_ID_ | TASK_DEF_KEY_ | PROC_INST_ID_ | EXECUTION_ID_ | NAME_           | PARENT_TASK_ID_ | DESCRIPTION_ | OWNER_ | ASSIGNEE_ | START_TIME_             | CLAIM_TIME_ | END_TIME_               | DURATION_ | DELETE_REASON_ | PRIORITY_ | DUE_DATE_ | FORM_KEY_ | CATEGORY_ | TENANT_ID_ |
+-----+--------------+---------------+---------------+---------------+-----------------+-----------------+--------------+--------+-----------+-------------------------+-------------+-------------------------+-----------+----------------+-----------+-----------+-----------+-----------+------------+
| 11  | process1:1:4 | usertask3     | 5             | 6             | Handle Request  | NULL            | NULL         | NULL   | NULL      | 2020-04-12 19:46:18.025 | NULL        | 2020-04-12 19:46:18.203 |       178 | NULL           |        50 | NULL      | NULL      | NULL      |            |
| 9   | process1:1:4 | usertask1     | 5             | 6             | Expense Request | NULL            | NULL         | NULL   | NULL      | 2020-04-12 19:46:17.854 | NULL        | 2020-04-12 19:46:18.019 |       165 | NULL           |        50 | NULL      | NULL      | NULL      |            |
+-----+--------------+---------------+---------------+---------------+-----------------+-----------------+--------------+--------+-----------+-------------------------+-------------+-------------------------+-----------+----------------+-----------+-----------+-----------+-----------+------------+

记录历史任务信息。

6 act_re_deployment

mysql> select * from act_re_deployment;
+-----+-------+-----------+------+------------+-------------------------+-----------------+
| ID_ | NAME_ | CATEGORY_ | KEY_ | TENANT_ID_ | DEPLOY_TIME_            | ENGINE_VERSION_ |
+-----+-------+-----------+------+------------+-------------------------+-----------------+
| 1   | NULL  | NULL      | NULL |            | 2020-04-12 19:46:17.244 | NULL            |
+-----+-------+-----------+------+------------+-------------------------+-----------------+
1 row in set (0.00 sec)

NAME_:部署的名称

DEPLOY_TIME_:部署时间。

7 act_re_procdef

mysql> select * from act_re_procdef;
+--------------+------+------------------------------+----------+----------+----------+----------------+-----------------+-------------------------+--------------+---------------------+-------------------------+-------------------+------------+-----------------+
| ID_          | REV_ | CATEGORY_                    | NAME_    | KEY_     | VERSION_ | DEPLOYMENT_ID_ | RESOURCE_NAME_  | DGRM_RESOURCE_NAME_     | DESCRIPTION_ | HAS_START_FORM_KEY_ | HAS_GRAPHICAL_NOTATION_ | SUSPENSION_STATE_ | TENANT_ID_ | ENGINE_VERSION_ |
+--------------+------+------------------------------+----------+----------+----------+----------------+-----------------+-------------------------+--------------+---------------------+-------------------------+-------------------+------------+-----------------+
| process1:1:4 |    1 | http://www.activiti.org/test | process1 | process1 |        1 | 1              | bpmn/First.bpmn | bpmn/First.process1.png | NULL         |                   0 |                       1 |                 1 |            | NULL            |
+--------------+------+------------------------------+----------+----------+----------+----------------+-----------------+-------------------------+--------------+---------------------+-------------------------+-------------------+------------+-----------------+

CATEGORY_:流程定义的分类,读取流程XML文件中的targetNamespace。

NAME_:流程定义名称,读取流程文件中process元素的name属性。

KEY_:流程定义名称,读取流程文件中process元素的id属性。

DEPLOYMENT_ID_:流程定义对应的部署数据ID

RESOURCE_NAME:流程定义对于的资源名称,一般为流程文件的相对路径。

DGRM_RESOURCE_NAME_:流程定义对于的流程图资源名称。

SUSPENSION_STATE_:表示流程定义的状态是激活的还是中止,激活状态时该字段值为1 ,中止时字段值为2,如果流程定义被设置为中止状态,那么将不能启动流程。

发布了4128 篇原创文章 · 获赞 661 · 访问量 344万+
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!