activiti 7 启动流程实例-编程思维
首先,考虑下面这样一个流程图 主要的流程定义如下: <process id="demo" name="demo" isExecutable="true"> <startEvent id="sid-aee4f5b6-6b26-423d-85c3-499659fb523b"/> <manualTask id="sid-f10234c0-9056-4b6
morethink program
首先,考虑下面这样一个流程图 主要的流程定义如下: <process id="demo" name="demo" isExecutable="true"> <startEvent id="sid-aee4f5b6-6b26-423d-85c3-499659fb523b"/> <manualTask id="sid-f10234c0-9056-4b6
1. 版本问题 1.1. Activiti版本 7.1.0-M6是最后一个支持JDK1.8的版本,此后的版本都要求JDK11以上 目前,Activiti最新版本是7.6.0,它是用JDK11编译的,因此要想使用最新版7.6.0必须升级JDK版本,不能再用1.8 同时,7.6.0依赖的SpringBoot版本是2.7.5 1.2. SpringBoot版本 最新的SpringBoot版本是3.
串行会审:一个节点的审批人数不固定,按顺序串行审批。 登录http://127.0.0.1:8080/activiti-app,配置如下流程: 说明:(1)流程 Process identifier: test1(2)“审批人1”只配置了一个审批人:Assignee ${user1} (3)“审批人2”配置了串行会审: Multi-instance type : Sequeti
一个task只能有一个处理人assignee,可以有多个候选人candidate users。处理人assignee保存于task表中的一个字段,候选人则保存于identityLink表。如果设置task为candidate users,则待办到了这个task后,所有的候选人都会收到待办,其中任何一人可以通过claim方法将任务签收,后再进行处理,签收后任务将从其他候选人的待办中删除。也可以签收
1. 启动分析 源码版本是 7.1.0.M6 首先从 ProcessEngineAutoConfiguration 开始 ProcessEngineAutoConfiguration 是activiti-spring-boot-starter 7.1.0.M6自动配置的入口类,在这里主要看 SpringProcessEngineConfiguration 主要是配置了自动部
Activiti6.0下activiti-app、activiti-admin、activiti-rest的基本配置,详见上文:https://www.cnblogs.com/gdjlc/p/16703897.html下面实现一个简单请假流程。 一、创建流程 1、登录http://localhost:8080/activiti-app/2、点击Kickstart App -> Create
顾名思义,子流程是一个包含其他活动、网关、事件等的活动,这些活动本身形成了一个流程,该流程是更大流程的一部分。 使用子流程确实有一些限制: 一个子流程只能有一个none类型的启动事件,不允许有其他类型的启动事件。一个子流程必须至少有一个结束事件。(请注意,BPMN 2.0 规范允许在子流程中省略开始和结束事件,但当前的 Activiti 实现不支持这一点。) 顺序流(顺序流是流程的两个元素之间
Activiti6.0官方文档:https://www.activiti.org/userguide/ 下载Activiti6.0,解压后有activiti-app.war、activiti-admin.war、activiti-rest.war三个war包。 activiti-app:在线流程设计器、账户管理、任务管理等; activiti-admin:查看流程定义、发起的流程实例、任务等;
什么是工作流? 就是通过计算机对业务流程进行自动化处理,实现多个参与者按照预定义的流程去自动执行业务流程 什么是Activiti? Activiti是一个工作流引擎,开源的架构,基于BPMN2.0标准进行流程定义,他的前身是JBPM Activiti通常是要嵌入到业务系统开发使用 如何使用Activiti开发? 第一步: 环境包括:jar包和数据库(25张表)
之前一直用的流程模型都是,固态的,写死的 由于固定分配方式,任务只能一步一步执行,执行到每一个任务将按照bpmn的配置去分配任务负责人.这显然在实际开发中是不可能的 所以我们需要动态分配人员 表达式分配 UEL表达式 Activiti使用UEL表达式,UEL是JavaEE6规范的一部分,UEL(Unified Expression Langguage)即统一表达式语言,Activiti支持两个
先修改流程图 测试之前记得先删除之前发布的流程定义,并重新发布改过的 /** * 使用UEL-Value动态分配任务人员 */ @Test public void uelValue(){ // 获取RuntimeService RuntimeService runtimeService = defaultProcessEn
视屏中老师说,一般没有人用但是我还是想试试 但是当我画图的时候,发现IDEA的那个listener监听器点不开,不知道是不是我下载的插件不对还是什么原因,所以就亲自写了,看看到时候不行就下载一个Eclipse吧 如果有了解怎样解决的,评论区或者私信我,谢谢 任务监听器是发生对应的任务相关事件时执行自定义java逻辑或表达式 任务事件包括 create 任务创建后触发 Assignmen
什么是流程变量 流程变量在Activiti中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和Activiti结合时少不了流程变量,流程变量就是Activiti在管理工作流时根据管理需要而设置的变量 比如在请假流程流转时如果请假的天数大于3天则总经理审批,小于等于3天直接人事存档,请假天数就可以设置为流程变量,在流程流转时使用 流程变量数据类型 注意:如果将pojo存入流程变量
需求:请假天数大于3天走总经理审批,小于等于3天直接走人事 画图 因为IDEA不展示那个线上的东西,所以截屏自己写的,还有就是我感觉IDEA画图挺坑的,之前画了好几遍,一部署就报错,很奇怪 /** * 启动流程实例并设置流程变量 Global */ @Test public void startProcessInstanceAndSetVar(){
需求:在流程定义中在任务节点的assignee固定设置任务负责人,这种情况不是很好,如果有天任务负责人请假了,你想请假,等着吧..没人审批,针对这种情况,可以给任务设置多个候选人,可以从候选中选择参与者来完成任务 设置候选人:画图 候选人 采用Candidate Users字段设置 多人使用逗号隔开 画完图之后,部署,然后启动流程实例,提交zhangsan的任务,接下来的看代码注
什么是排他网关? 排他网关(也叫异或(XOR)网关,或叫基于数据的排他网关),用于在流程中实现决策,当流程执行到这个网关,所有分支都会判断条件是否为true,如果为true则执行该分支 注意:排他网关只会选择一个为true的分支执行.(即使有两个分支条件都为true,排他网关也会只选择一条分支去执行) 为什么要用排他网关? 不用排他网关也能实现分支 在连线的condition条件上设置分
什么是并行网关? 并行网关允许将流程分成多条分支,也可以将多条分支合并到一起,并行网关是基于进入和外出顺序流的 fork分支: 并行后的所有外出顺序流,为每个顺序流都创建一个并发分支 jion汇聚: 所有达到并行网关,在此等待的进入分支,直到所有进入顺序流的分支都到达后,流程就会通过汇聚网关 注意:如果同一个并行网关有多个进入和多个外出输入流,他就同时具有分支和汇聚功能,这时,网关会先汇聚所有进
什么是包含网关? 包含网关可以看做是排他网关和并行网关的结合体,和排他网关一样,你可以在外出顺序流上定义条件,包含网关会解析他们,但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关是一样的 其实在我看来就是 排他网关:解析条件,要不报错,要不走一个 并行网关:不解析条件,不报错,都走 包含网关:解析条件,条件成立就走,不成立就不走,全都不成立报错 需求: 体检流程 如果是领导 就走 常
首先创建一个Maven项目 整体的项目结构 activiti.cfg.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XML
首先先绘制一个流程图 创建bpmn文件 然后绘制好节点 然后修改节点信息 指定负责人 点击背景,修改ID和名称 保存 然后重命名成xml 使用diagram打开 导出png 然后包xml改回bpmn 最终的到bpmn和png 最后上代码 package com.itheima.activiti; import org.activiti.e