更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码: https://gitee.com/nbacheng/nbcio-boot
前端代码:https://gitee.com/nbacheng/nbcio-vue.git
在线演示(包括H5) : http://122.227.135.243:9888
?
? ? 要对flowable的表先有全面的认识,需要我们深入研究flowable的各个表意义。整合网上各个来源,加上自己实践过程中的认识整理出来以下内容。
目前一共38张表
Activiti 使用到的表都是?ACT_?开头的。表名的第二部分用两个字母表明表的用途。
? ? ? 注:?要删除流程任务运行实例与历史表,可以删除ACT_HI_和ACT_RU_的表数据。
Flowable引入了事件日志机制。日志机制基于Flowable引擎的事件机制,并默认禁用。总的来说,来源于引擎的事件会被捕获,并创建一个包含了所有事件数据(甚至更多)的map,提供给org.flowable.engine.impl.event.logger.EventFlusher,由它将这些数据保存其他地方。默认情况下,使用简单的基于数据库的事件处理器/保存器,用Jackson将上述map序列化为JSON,并将其作为EventLogEntryEntity实例存入数据库。默认会在数据库中创建ACT_EVT_LOG表保存事件日志。如果不使用事件日志,可以删除这个表。
每个流程的部署记录,bytes_字段中存储流程的具体内容。每次启动时都会默认部署process目录下的流程文件,执行
repositoryService.createDeployment().deploy方法也会部署流程。
? ?? ?注:流程定义除了上面这个表,还与下面三个表act_re_deployment,act_re_model,act_re_procdef,act_ge_property相关,要清除相关内容,首先需要进行act_ru相关表删除,才能删除这些表内容。
flowable自身的一些变量,主要是版本号。
历史执行的所有流程节点的内容。
流程历史附件表。
附件自身主要是带上了url。
可以对任务添加附件。
流程的历史评论表
评论嘛,就带了个string的fullMessage
流程中历史产生的变量详情。
(在流程中指定变量,流程流转时传入变量,作业务处理,比如判断审核通过还是拒绝)
历史参与的人员表
内部是维护一个scopeId及其关联的scopeId。
每一个task任务属于一个scopeId(需要再研究一下)
记录每一个历史节点的用户(可能是group可能是user)。
每一个历史流程,创建时就生成,一条流程实(process)例对应一个记录。
记录每一个历史节点,一个task对应一个记录。
每一次执行(execution)可能会带上数据,存在这里(data),没有生成过。
HistoricTaskLogEntry类
维护所有的历史变量
用户组的部署内容
所有用户组的信息
所有用户的信息,账号密码
用户和用户组的关系
权限表
用户权限关系表
用户的变量,存了版本号。
用户访问记录
用户基本信息,包括邮箱等
以上几张用户表是对flowable idm的用户管理体系,可以配置用户对api的调用权限。
流程定义信息,对流程的说明
流程部署记录,每次服务重启会部署一次,这边新增一条记录。
创建模型时,额外定义的一些模型相关信息,存在这张表,默认不存。
记录流程的变更,流程每变更一次存一条,version_加1
27、act_ru_actinst
act_ru_actinst相比于act_ru_taskinst数据更全一些,为记录工作流中的所有活动(包括开始、任务、结束等)。
?作业死信表-作业失败超过重试次数,正常情况下,不会有数据
29、act_ru_entitylink
此表存储有关实例的父子关系的信息。例如,如果流程实例启动子案例实例,则此关系存储在此表中。这样可以轻松查询关系
30、act_ru_event_subscr
运行时事件 throwEvent、catchEvent 时间监听信息表(目前我们这边都没用到过哈。。)
31、act_ru_execution
执行实例表:这个表和act_ru_task表,一起控制了用户任务的产生与完成等。
32、act_ru_external_job
Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据
当前流程所有历史执行的任务
但是因为如果流程结束,就查不到这些任务
所以虽然是历史,但是也命名成了act_ru。
What act_ru_history_job is used for? - Flowable Engine - Flowable
此表存储有关用户或组的数据及其与(流程/案例/等)实例相关的角色。该表也被其他需要身份链接的引擎使用。
36、act_ru_suspended_job
运行时作业暂停表,通常也为空
37、act_ru_task
?运行时任务节点表,此表包含正在运行的实例的每个未完成用户任务的条目。然后在查询用户的任务列表时使用此表。
同上act_hi对应表,此表存储与实例相关的变量。。
通过整理表,发现flowable还:
对task提供了很多配置,包括添加附件、评论,以及设置tenant多租户区分权限;
对自动任务作了完善的机制(包括多次失败、重新**等类型任务的记录维护);
同时也维护了一套用户管理权限,可以基于它实现一套工作流构建的服务。
参考: