侧边栏壁纸
  • 累计撰写 1,958 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

(10)Activiti 入门总结---Activiti入门教程学习笔记

猿哥
2022-01-03 / 0 评论 / 0 点赞 / 212 阅读 / 0 字

什么是工作流?

就是通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流

程。

什么是activiti?

Activiti 是一个工作流的引擎,开源的架构,基本 bpmn2.0 标准进行流程定义,它的是前身是 jbpm。

Activiti 通过是要嵌入到业务系统开发使用。

如何使用 activiti 开发?

  • 第一步:部署 activiti 的环境。

环境包括:jar 包和数据库(25 张表)

业务系统通过 spring 和 activiti 整合进行开发。

  • 第二步:使用 activiti 提供流程设计器(和 idea 或 eclipse 集成的 designer)工具进行流程定义流程定义生成两个文件:.bpmn 和.png(不是必须的)。
  • 第三步;将流程定义文件部署到 activiti 的数据库

SELECT * FROM act_re_deployment #流程定义部署表

一次部署插入一条记录,记录流程定义的部署信息

SELECT * FROM act_re_procdef #流程定义表

一次部署流程定义信息,如果一次部署两个流程定义,插入两条记录

建议:一次部署只部署一个流程定义,这样 act_re_deployment 和 act_re_procdef 一对一关系

常用两个方法:单个文件部署和 zip 文件部署。

建议单个文件部署。

  • 第四步: 启动一个流程实例

业务系统就可以按照流程定义去执行业务流程,执行前需要启动一个流程实例

根据流程定义来启动一个流程实例。

指定一个流程定义的 key 启动一个流程实例,activiti 根据 key 找最新版本的流程定义。

指定一个流程定义的 id 启动一个流程实例。

启动一个实例需要指定 businesskey(业务标识),businessKey 是 activiti 和业务系统整合时桥梁。

比如:请假流程,businessKey 就是请假单 id。

启动一个实例还可以指定流程变量,流程变量是全局变量(生命期是整个流程实例,流程实例结束,变量就消失)

  • 第五步:查询待办任务

查询个人任务:使用 taskService,根据 assignee 查询该用户当前的待办任务。

查询组任务:使用 taskService,根据 candidateuser 查询候选用户当前的待办组任务。

  • 第六步:办理任务

办理个人任务:调用 taskService 的 complete 方法完成任务。

如果是组任务,需要先拾取任务,调用 taskService 的 claim 方法拾取任务,拾取任务之后组任务就

变成了个人任务(该任务就有负责人)。

网关:

排他网关:任务执行之后的分支,经过排他网关分支只有一条有效。

并行网关:任务执行后,可以多条分支,多条分支总会汇聚,汇聚完成,并行网关结束。

包含网关:是排他网关和并行网关结合体。

0
博主关闭了所有页面的评论