Activiti7工作流
一.什么是工作流
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
二.工作流引擎
- 首先我们需要使用特殊的绘图工具绘制一张图。
- 这个图本质上就是一个 XML 文件。可以被 Java 代码所读取。
- 最终这里面的数据会存储到数据库中。
- 当申请人发起申请本质上就是根据 XML 中的 id 在通过连线找下一个节点。(本质上就是读取数据库中的数据)
- 当前节点会形成一条当前任务。审批人就可以通过当前任务表查询到自己的待办任务。
- 拒绝则流程结束。
- 同意则流程继续执行。会将当前任务表中之前完成过的任务删除,并插入新的任务。(当前任务表中永远只存在当前任务)。进入新的审批...
- 直到没有下一个任务了,流程结束。
![Activiti7执行原理]()
三.集成Activiti7
- 添加依赖。
- 添加 log4j.properties。日志。
- 书写配置文件,配置文件名字必须叫做 -> activiti.cfg.xml
- 配置数据源。
- 配置流程引擎对象的更新规则。
- 书写测试类。



四.业务建模
- 首先打开 Activiti7 的画布。
- 正常添加开始结束及用户任务节点。
- 在用户任务节点中添加对应的节点名称及负责人。
- 为整张图添加 id=xx name=xx id 是给机器做对比的,需要唯一。name 是给人看的。中文即可。



五.流程引擎 API
- 首先需要获取 ProcessEngine 流程引擎对象。
- 根据不同的阶段操作,获取不同的四个 Service
- RepositoryService:操作静态资源的。例如流程文件(XML 文件)、流程图(PNG)。 他主要操作的是流程定义。
- RuntimeService:操作的是运行起来的。主要就是启动流程。操作的是流程实例。
- TaskService:操作的是任务。查询待办任务、添加批注信息、完成任务。主要操作的就是任务。
- HistoryService:操作的是历史。查询历史流程实例、历史任务等等。
部署

运行完会在数据库生成25张表

启动流程

查询代办任务

任务审批

添加批注信息

查询历史任务

六.测试类的流程




浙公网安备 33010602011771号