Activiti7---理论学习

1. Activiti7与6和5的区别

Activiti7与Activiti5和Acticiti6有了很大的改变,宏观来说,Activiti7集成了docker, microservices、kubernetes、activiti cloud、activiti cloud、cloud native、spring boot 2.0。使用方面,它与之前两个版本少了IdentityService和FormService接口。(少的FormService接口的解决方案在下面文章会给出,而少了IdentityService接口仍未找到解决方案,有知道的话可在评论给出)

Activiti7数据库有25张表,Activiti6数据库有28张表。

在这里插入图片描述
Activiti7结合动态表单

在Avtiviti5和6中,有核心接口之一的FormService,结合表单可以使用:

StartFormData startFormData = formService.getStartFormData(processDefinitionId); 
List<FormProperty> formProperties = startFormData.getFormProperties();

但在Acticiti7中,由于没有了FormService接口,可用以下方法代替:

UserTask userTask =(UserTask)repositoryService.getBpmnModel(task.getProcessDefinitionId()).getFlowElement(task.getTaskDefinitionKey());
List<FormProperty> formProperties = userTask.getFormProperties();

2. Activiti7的25张表命名规则

表名 作用
act_re_* “re”表示 repository 。这些表包含了流程定义和流程静态资源(图片、规则等)
act_ru_* “ru”表示 runtime 。这些运行时的表,包含流程的实例、任务、变量、异步任务等运行中的数据。Activiti 只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。这样运行时表可以一直很小,速度很快
act_hi_* “hi”表示 history 。这些表包含历史数据,比如历史流程实例、变量、任务等
act_ge_* “ge”表示 general 。通用数据,用于不同的场景下

3. Service接口的作用

接口 作用
RepositoryService activiti 的资源管理类
RuntimeService activiti 的流程运行管理类
TaskService activiti 的任务管理类
HistoryService activiti 的历史管理类
ManagerService activiti 的引擎管理类

注意:在Activiti7中,IdentityService, FormService 两个 Service 都被删除

4. Activiti7中新增的两个API

4.1 ProcessRuntime 接口

在这里插入图片描述
在这里插入图片描述

通过上面的分析,我们发现使用 Activiti7 开发时,只要注入ProcessRuntime 的实现对象,就可以实现流程定义信息的操作。当然这个过程中因为 Activiti7 与SpringSecurity 的强耦合,引导我们也必须将SpringSecurity 加入进来。

4.2 TaskRuntime 接口

在这里插入图片描述
在这里插入图片描述
上面部分给我们介绍了如何引入Activiti Core 所需的坐标,同时介绍了如何添加 TaskRuntime 实现对象,源码介绍等。我们会发现TaskRuntime 本身就是对于TaskService 的一个封装。

扫描二维码关注公众号,回复: 11680055 查看本文章

Activiti7使用手册

猜你喜欢

转载自blog.csdn.net/Lv_vI/article/details/108147185