什么是工作流?

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

什么是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工作流

本文来源于网络,只做技术分享,一概不负任何责任

Activiti7 学习总结的更多相关文章

  1. Springboot2.1.x配置Activiti7单独数据源问题

    Springboot2.1.x配置Activiti7单独数据源问题 简介 最近基于最新的Activiti7配置了SpringBoot2. 简单上手使用了一番.发现市面上解决Activiti7的教程很少 ...

  2. Activiti7工作流+SpringBoot

    文章目录 一. Activiti相关概念 1. Activiti介绍 2. 核心类 2.1 ProcessEngine 2.2 服务(Service)类 2.2.1 TaskService 2.2.2 ...

  3. Activiti7新的API介绍

    一.Activiti7 的组成部分 Activiti Core 作为Activiti 的核心部分,Activiti Cloud 主要是利用云服务来实现分布式业务流程开发. 二.Activiti 新的 ...

  4. activiti工作流入门学习

    工作流一般在OA系统用的比较多,当然,只要有流程审批的地方都会用到,activiti只是开源的工作流中比较流行的一个,还有其他的开源的工作流,这里学习activiti工作流:前面部分是关于activi ...

  5. activiti学习笔记一

    activiti学习笔记 在讲activiti之前我们必须先了解一下什么是工作流,什么是工作流引擎. 在我们的日常工作中,我们会碰到很多流程化的东西,什么是流程化呢,其实通俗来讲就是有一系列固定的步骤 ...

  6. activiti7 导出bpmn文件

    最近在学习springboot+activiti7整合,想做一个导出bpmn文件的功能,查了相关资料,最后没有实现.最后查看了一下代码 找到了方法 如下所示 @GetMapping("exp ...

  7. Activiti7 入门篇

    1.  工作流 简单地来讲,工作流就是在计算机的协助下实现流程的自动化控制.目前,笔者熟知的主流的框架有:Camunda .Flowable .Activiti .jBPM.还有我们国产的盘古BPM. ...

  8. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  9. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

随机推荐

  1. 什么才是定制化IDE的核心价值?

    写在前面 自 2018 年初,就与 VSCode 结下了不解之缘,从一份选型报告开始,一蹉跎就是 2 年多 期间反复思索着一个挥之不去的问题:定制化 IDE 产品的核心价值是什么? 事实上,答案并不唯 ...

  2. 蒲公英 · JELLY技术周刊 Vol.17: 90 行代码实现 React Hooks

    蒲公英 · JELLY技术周刊 Vol.17 React Hooks 相信大家都不陌生,自被设计出以来就备受好评,在很多场景中都有极高的使用率,其中原理更是很多大厂面试中的必考题,很多朋友都能够如数家 ...

  3. Broken 2020: 1 靶机

    这个靶机的作者脑洞太大了 扫描下端口,就普通的ssh http服务 扫描下目录,发现了一个2个cms目录 进来cms发现是个安装界面,但是后面安装失败,无意返回cms发现出现了一个flag 进入/cm ...

  4. 神经网络实现fashion数据集

    import tensorflow as tf import numpy as np fashion=tf.keras.datasets.fashion_mnist (x_train,y_train) ...

  5. python智能图片识别系统(图片切割、图片识别、区别标识)

    @ 目录 技术介绍 运行效果 关键代码 写在最后 技术介绍 你好! python flask图片识别系统使用到的技术有:图片背景切割.图片格式转换(pdf转png).图片模板匹配.图片区别标识. 运行 ...

  6. 开发APP遇到的问题

    1.代码尽量复用 2.调用高德地图,直辖市等,省字段一定有值,市可能为空(pro:'北京市',city:[]) 3.支付密码不用组件 <template> <view> < ...

  7. vue a标签下载图片文档显示下载失败

    解决:把所要下载的文件放到static文件下,具体原因-静态文件放在static内,否则webpack会打包.

  8. (趣味哈哈镜)JMF中摄像头相关的问题

    JMF已经非常古老了.最近由于做实验的需要,不得不使用JMF处理视频.开发使用win10系统和eclipse.使用中的问题如下: 1.首先想要使用JMF需要必须安装32位JDK,同时编译软件也需要是3 ...

  9. springboot-遇到的错误

    1.Field userMapper in com.yanan.outjob.controller.SysUserController required a bean of type 'com.yan ...

  10. 仓库ERP管理系统(springboot)

    查看更多系统:系统大全,课程设计.毕业设计,请点击这里查看 01 系统概述 基于SpringBoot框架和SaaS模式,非常好用的ERP软件,目前专注进销存+财务功能.主要模块有零售管理.采购管理.销 ...