什么是工作流?
就是通过计算机对业务流程进行自动化处理,实现多个参与者按照预定义的流程去自动执行业务流程
什么是Activiti?
Activiti是一个工作流引擎,开源的架构,基于BPMN2.0标准进行流程定义,他的前身是JBPM
Activiti通常是要嵌入到业务系统开发使用
如何使用Activiti开发?
第一步:
环境包括:jar包和数据库(25张表)
业务系统通过Spring和Activiti整合进行开发
第二步:
使用Activiti提供的流程设计器(IDEA或者Eclipse actBPMN插件)工具进行流程定义
流程定义生成两个文件:.bpmn和.png(不是必须的)
第三步:
将流程定义文件部署到activiti数据库
select * from act_re_deployment #流程定义部署表
一次部署插入一条记录,记录流程定义的部署信息
select * from act_re_procdef #流程定义表
一次部署流程定义信息,如果一次部署两个流程定义,插入两条记录
建议:一次只部署一个流程定义,这样act_re_depolyment和act_re_procdef一对一关系
常用两个方法:
单个文件部署和zip部署
建议单个文件部署
第四步:
启动一个流程实例
业务系统就可以按照流程定义去执行业务流程,执行前需要启动一个流程实例
根据流程定义来启动一个流程实例
指定一个流程定义的key启动一个流程实例,activiti根据Key找最新版本的流程定义
指定一个流程定义的ID启动一个流程实例
启动一个流程实例需要指定 businessKey(业务标识),businessKey是Activiti和业务系统整合时的桥梁
比如:请假流程,businessKey就是请假单ID
启动一个流程实例还可以指定流程变量,流程变量一般使用全局变量(生命周期是整个流程实例,流程实例结束,变量消失)
第五步:
查询待办任务
查询个人任务:使用taskService,根据assignee查询用户的待办任务
查询组任务:使用taskService,根据candidateUser查询候选用户当前的待办组任务
第六步:
办理任务
办理个人任务:调用taskService的complete方法完成任务
办理组任务:如果是组任务,需要先拾取任务,调用taskService的claim方法拾取任务,拾取任务之后组任务变成个人任务(该任务就有负责人了)
网关:
排他网关:任务执行后的分支,经过排他网关的分支只有一条
并行网关:任务执行后,可以多条分支,多条分支总会汇聚,汇聚完成,并行网关结束
包含网关:是排他网关和并行网关的结合体
作者:彼岸舞
时间:2020\09\08
内容关于:Activiti工作流
本文来源于网络,只做技术分享,一概不负任何责任
手机扫一扫
移动阅读更方便
你可能感兴趣的文章