flowable实战(十)flowable 启动流程到完成所有任务之间的数据库变化

来写一下Activiti 5.18版本从启动流程到整个流程结束之间数据库表的变化

先给出流程图,很简单的流程,就是两个UserTask:

在这里插入图片描述代码如下:

DeploymentBuilder builder=repositoryService.createDeployment();
Deployment deployment=builder.addClasspathResource(“bpmn/simple_process.bpmn”).deploy();
以上代码是部署这个流程,部署完毕后,act_re_deployment表中会有一条部署记录,记录这次部署的基本信息,然后是act_ge_bytearray表中有两条记录,记录的是本次上传的bpmn文件和对应的图片文件,每条记录都有act_re_deployment表的外键关联,然后是act_re_procdef表中有一条记录,记录的是该bpmn文件包含的基本信息,包含act_re_deployment表外键。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意看这个5001就是act_re_deployment表外键

ProcessDefinition pd=repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();
ProcessInstance pi=runtimeService.startProcessInstanceById(pd.getId());

以上代码是搜索此次部署对应的流程定义信息,也就是act_re_procdef表的信息查询。然后启动这个流程。

首先向act_ru_execution表中插入一条记录,记录的是这个流程定义的执行实例,其中id和proc_inst_id相同都是流程执行实例id,也就是本次执行这个流程定义的id,包含流程定义的id外键(simpleProcess:1:5004)。
在这里插入图片描述
然后向act_ru_task插入一条记录,记录的是第一个任务的信息,也就是开始执行第一个任务。包括act_ru_execution表中的execution_id外键和proc_inst_id外键,也就是本次执行实例id。
在这里插入图片描述
然后向act_hi_procinst表和act_hi_taskinst表中各插入一条记录,记录的是本次执行实例和任务的历史记录:在这里插入图片描述
在这里插入图片描述Task task1=taskService.createTaskQuery().processInstanceId(pi.getId()).taskDefinitionKey(“task1”).singleResult();
taskService.setVariable(task1.getId(), “var1”, “var1”);
taskService.complete(task1.getId());
以上代码是查询流程本次执行实例下名为task1的任务,然后给任务设置全局变量,如果调用的是taskService.setVariableLocal方法,则任务执行完毕后,相关变量数据就会删除,然后再完成任务。

首先向act_ru_variable表中插入变量信息,包含本次流程执行实例的两个id外键,但不包括任务的id,因为setVariable方法设置的是全局变量,也就是整个流程都会有效的变量:
在这里插入图片描述
执行完task1后,act_ru_task表中task1的记录被删除,新插入task2的记录:
在这里插入图片描述
同时向act_hi_var_inst和act_hi_taskinst插入历史记录
在这里插入图片描述
在这里插入图片描述
Task task2=taskService.createTaskQuery().processInstanceId(pi.getId()).taskDefinitionKey(“task2”).singleResult();
taskService.complete(task2.getId());
以上代码是查询本流程执行实例下的task2并完成task2。

此时整个流程执行完毕,act_ru_task,act_ru_execution和act_ru_variable表全被清空
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其实全程有一个表一直在记录所有动作,就是act_hi_actinst表:
在这里插入图片描述

List<HistoricVariableInstance> vars=historyService.createHistoricVariableInstanceQuery().processInstanceId(pi.getId()).list();
for(HistoricVariableInstance var:vars){
System.out.println(var.getVariableName());
System.out.println(var.getValue());
}

以上这段代码是查询act_hi_varinst表中变量历史记录的。因为流程执行完毕act_ru_variable表被清空。

讲解完毕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里敏捷教练如何优化优酷需求分析流程?

摘要&#xff1a; 如何帮助优酷迅速融合到阿里研发体系&#xff1f;如何优化优酷的需求分析流程&#xff1f;针对需求信息不明确&#xff0c;开发出来的功能不是产品想要的痛点如何解决&#xff1f; 点此查看原文&#xff1a;http://click.aliyun.com/m/41381/ 导读&#xff1a…

java float 高效加减_java Double 进行加减乘除

Double 工具类package org.fh.util;import java.io.Serializable;import java.math.BigDecimal;import java.math.RoundingMode;/*** double的计算不精确&#xff0c;会有类似0.0000000000000002的误差&#xff0c;正确的方法是使用BigDecimal或者用整型* 整型地方法适合于货币…

Gartner预计2019年全球半导体收入将下滑9.6%;苹果中国用户正流向华为;Facebook将支付50亿美元与FTC和解...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

PostgreSQL 多重含义数组检索与条件过滤 (标签1:属性, 标签n:属性) - 包括UPSERT操作如何修改数组、追加数组元素

摘要&#xff1a; 标签 PostgreSQL , 多重函数数组 , UDF索引 , 过滤 , 文本处理 背景 PG的数组类型&#xff0c;被广泛应用于 画像系统 &#xff0c; 标签系统。 在一些业务重建中&#xff0c;对数组内容的定义往往包含了多重含义&#xff0c;例如即包含了标签本身&#xff0c…

从MapReduce的执行来看如何优化MaxCompute(原ODPS) SQL

摘要&#xff1a; SQL基础有这些操作&#xff08;按照执行顺序来排列&#xff09;&#xff1a; from join(left join, right join, inner join, outer join ,semi join) where group by select sum distinct count order by 如果我们能理解mapreduce是怎么实现这些SQL中的基本操…

flowable实战(十二)flowable 核心表ACT_RU_EXECUTION 详解(初学者误解的一张表)

一、ACT_RU_EXECUTION 表(很多初学者迷惑的一张表&#xff0c;以为是流程实例表&#xff0c;其实它叫执行实例表&#xff09;&#xff1a;这个表和act_run_task表&#xff0c;一起控制了用户任务的产生与完成等。 这个表是工作流程的核心表&#xff0c;这个表会体现主干与分支…

阿里云大数据MaxCompute计算资源分布以及LogView分析优化

摘要&#xff1a; MaxCompute(原ODPS&#xff09;的概念 海量数据处理平台&#xff0c;服务于批量结构化数据的存储和计算&#xff0c;提供海量数据仓库的解决方案以及针对大数据的分析建模服务.(官方文档有这里就不多做介绍了)官方文档链接 优势 用户不必关心分布式计算细节&a…

计算机视觉领域还能耍什么花样?

从移动支付的自动贩卖机到刷脸支付的智能货柜&#xff1b;从亲自到柜台验证到人脸核身远程开卡&#xff1b;从排队买票、排队进门的糟糕旅游体验到提前预约&#xff0c;刷脸入园的智慧旅游&#xff1b;……从计算机视觉应用的产业板块上分析&#xff0c;以视频应用为基础的视频…

MaxCompute MapReduce

摘要&#xff1a; 大数据计算服务(MaxCompute)的功能详解和使用心得 点此查看原文&#xff1a;http://click.aliyun.com/m/41384/ 前言 MapReduce已经有文档&#xff0c;用户可以参考文档使用。本文是在文档的基础上做一些类似注解及细节解释上的工作。 功能介绍 MapReduce 说起…

Flowable springboot项目自定义中文字体

Flowable springboot项目自定义中文字体 摘要&#xff1a;在flowable框架中&#xff0c;当我们想要集成springboot框架的时候&#xff0c;可能要设置中文字体&#xff0c;flowable6.4之前的版本因为没有可以设置字体的属性&#xff0c;所以我们没法进行中文字体的设置&#xff…

漫画 | Kubernetes带你一帆风顺去远航

戳蓝字“CSDN云计算”关注我们哦&#xff01;来源 | Google Cloud如果你是一个狂立学习flag却屡屡打脸的懒癌晚期&#xff0c;或者是一个对云计算方面云里雾里&#xff0c;不知所措的好学者&#xff0c;亦或是一位资深行业专家&#xff0c;都欢迎关注【CSDN云计算公众号】&…

Kubernetes与Docker基本概念与常用命令对照

摘要&#xff1a; Docker是众多用户上手入门的基础容器和编排工具&#xff0c;提供了良好的开发者体验。Kubernetes是强大的容器编排平台&#xff0c;功能丰富。它们有很多概念和操作都有类似之处。我们今天会和大家对比基本概念与常用命令&#xff0c;可以方便熟悉Docker的用户…

flowable 设置流程跟踪高亮线的颜色

背景&#xff1a;在实际情况下&#xff0c;很多人对这个红色的高亮有意见&#xff0c;所以这里我把我的修改颜色的代码分享出来&#xff0c;希望对大家有帮助。&#xff08;如果有问题可以加QQ群&#xff1a;633168411 里面很多高手&#xff0c;人也都非常善良&#xff09; 效果…

连续启动 crash 自修复技术实现与原理解析

摘要&#xff1a; 如果 app 连续 crash 两次无法启动&#xff0c;用户往往会选择卸载。本文介绍如何该类 crash 的自修复技术。 点此查看原文&#xff1a;http://click.aliyun.com/m/41487/ 作者&#xff1a;阿里云-移动云-大前端团队 前言 如果 app 连续 crash 两次无法启动…

舞动的桥 阿里云首个百万IOPS云盘的背后

摘要&#xff1a; 近日&#xff0c;阿里云推出了首个百万IOPS的ESSD云盘服务&#xff0c;性能上有50倍的飞跃&#xff0c;同时还具备超高吞吐、超低时延等特性&#xff0c;在真实业务场景中&#xff0c;PostgreSQL数据库的写入速度快了26倍。 如此超高的性能&#xff0c;有人会…

Kubernetes上的服务网格 Istio - 分布式追踪篇

摘要&#xff1a; 2017年5月&#xff0c;Google、IBM和Lyft发布了开源服务网格框架Istio&#xff0c;提供微服务的连接、管理、监控和安全保护。Istio提供了一个服务间通信的基础设施层&#xff0c;解耦了应用逻辑和服务访问中版本管理、安全防护、故障转移、监控遥测等切面的问…

flowable实现流程回退功能

此版本为旧的版本&#xff0c;建议参看新的版本6.4.0 前期项目要求实现流程回退&#xff08;仅要求回退到上一节点&#xff09;&#xff0c;所使用的flowable版本是6.2.0-SANPSHOT。在网上收到的流程回退的例子都是activity的&#xff0c;然而activity的很多接口在flowable中都…

如何用ACM简化你的Spring Cloud微服务环境配置管理

摘要&#xff1a; 本文我们就如何使用阿里云ACM这样的配置管理产品在Spring Cloud中替代Spring Cloud Config帮助简化环境配置管理做一个简单的示例&#xff0c;帮助你理解基于ACM来简化微服务环境配置管理的方案&#xff0c;并会简单比较一下ACM与Spring Cloud Config方案的优…

flowable 新的驳回方式 ChangeActivityStateBuilder 多实例驳回 并行网关驳回 普通节点驳回

6.4.0 新增加了驳回的方式&#xff0c;真是对中国式流程的一种福音呀&#xff0c;感谢flowable创始人。 再也不为开发驳回流程发愁了&#xff0c;网上那些视频和修改源码真的是demo级别的&#xff0c;不能商业用。 只有心如流水的学习才是永远的发电机&#xff0c;不要幻想别…

解锁新姿势 |如何利用配置中心规范构建PaaS服务配置

摘要&#xff1a; 在上一篇文章中&#xff0c;我们以MQ和ACM为例&#xff0c;讨论了如何借助配置中心对消息进行限流管理的场景。在本文中&#xff0c;我们继续以该场景为例&#xff0c;讲述如何以规范的配置命名格式来进行限流设置。 点此查看原文&#xff1a;http://click.al…