实战环境-Activiti7从入门到专家(4)

背景

对于activiti7 已经有了感性认知,并且已经获得了源代码,梳理了核心的API。后面还有大量的内容,包括BPMN规范的落地,但是我们不能只停留在理论层次,需要从实际罗德的内容展开,因此需要构建实战环境。

目标

那么接下来需要有两个动作,第一,深入代码逻辑中,从BPMN的实现技术对其进行深入掌握,如果需要,修改其代码,完善自己扩展;第二,利用掌握的activiti7来构建流程引擎,完成中国特色的业务数字化平台其中流程建设的部分。

实战环境

activiti7开发环境

既然是技术研究,那么需要下载最新的代码,其实我们称之为7,这个develop,的版本是8+的最新版本,我们也称之为activiti7 开发环境,因为7是相对稳定的,但是研究的代码时最新的,为了持续的跟进。

这个开发环境一个是我们走读代码,另外一个目的就是为了扩展自己的服务和个性化需求,所以,需要编译通过代码,需要用最新的jdk oracle22,另外开发语言level强制要求设置为21.

build以后,我们需要在这个地方着手

官方提供了例子,代码一坨坨的,默认应该用的是H2的数据库,是内存模式。这个玩意国内用的少,懒得去研究,但是他们的接口应该是一致的,会用就行,特别是Test要能跑起来,我们还得在这上面折腾。

业务生产环境

比较难的是选一款国内的,要求是:简单易懂,activiti7,不要太老,所以在码云上就开始搜找,符合这个要求的不多,很多都是2,3年以前的代码,并且封装的ruoyi,真是一坨坨,我们的核心是熟练使用掌握activiti的api,让后封装一套自己高大上的中国特色的流程引擎。

功夫不负有心人,还真有这么一款,并且实现了不少的代码,有点意思: 网址是 z6-bpm: z6-BPM工作流系统,遵循BPMN2.0协议,基于Activiti7进行开发,前后端分离。支持多种审批动作,比如会签、加签、退回、驳回等。支持多种处理规则,比如按人员、角色、岗位、部门等。内置流程设计器、表单设计器、任务办理、流程监控等。后端采用Spring Boot+My Batis+Security+Oauth2.0+Redis等框架,支持微服务 下载后,

  1. 构建数据库,有脚本,直接跑一个 5.6mysql没有问题
  2. 修改数据库链接,
  3. 竟然需要redis,启动下本地redis
  4. 然后,run一下
  5. 前端是vue2。? ,常规的跑一起,就能设计流程了

麻雀虽小,五脏俱全,nice

万事俱备,可以开始解构各类内容了,

act_re_deployment 这个表里key_字段自己加了个 first 的key,这个作者可能对于activiti,掌握的不是很深入,这个字段竟然没有存值,对于数据结构,以后会逐一分解。

于是乎来一段小代码,跑一跑,

@Test
public void GetDeployInfos() {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();System.out.println("duster>>");RepositoryService repositoryService = processEngine.getRepositoryService();//  查询流程部署Deployment deployment = repositoryService.createDeploymentQuery().deploymentKey("first").singleResult();System.out.println(deployment.getName());//  查询流程定义ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();//  流程定义是否被挂起/暂停boolean suspended = processDefinition.isSuspended();System.out.println(processDefinition.getName());System.out.println(processDefinition.getId());System.out.println(processDefinition.getDeploymentId());}

下一步,对于每个符号,可以方便的学习和折腾了。两手抓,一手是应用,一手是内核,不是很快就成为业务专家、流程专家、技术专家。 能不香吗?

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

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

相关文章

Ubuntu20.04配置Kinect 2.0驱动安装和ROS环境下配置以及录制bag包和制作ORB-SLAM数据集

目录 1. 安装libfreenect21.1 下载官方文件1.2 安装build工具1.3 安装libusb1.4 安装urboJPEG1.5 安装OpenGL1.6 安装OpenCL1.7 安装OpenNI1.8 进入libfreenect2 文件夹,编译安装1.9 设定udev rules1.10 测试 2. 配置ROS环境2.1 下载iai_kinect2包并安装2.2 相机上电…

十六进制前缀为Ox还是0x???

16进制的前缀是0x,数字零和英文字母X。 十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应…

网络安全---RSA公钥加密与签名

实验项目:RSA公钥加密与签名实验 1.实验目的 本实验的学习目标是让学生获得 RSA 算法的动手经验。 通过课堂学习,学生应该已经了解 RSA 算法的理论部分, 知道在数学上如何生成公钥、私钥以及如何执行加密、解密和签名生成、验证。 通过使用…

数字图像处理与交叉学科中名词的拧巴

特征提取 图像处理——对图像、目标或特征点进行定量描述的方法及过程。 模式识别——对原特征进行特征变换,从高维空间到低维空间映射。 特征向量 模式识别、图像处理——一个观测包括多个变量,样本的多个特征组成特征向量。 线性代数——特征值对应的…

构建强健身体的未来:健身管理平台微服务架构解析

在现代社会,人们越来越关注健康和身体素质的提升。健身管理平台应运而生,为用户提供个性化的健身计划、监测和管理工具。微服务架构作为一种灵活且可扩展的系统设计方法,为健身管理平台提供了高效、可靠的基础。 1. 概述健身管理平台微服务架…

python|sort_values()排序

sort_value()可以用来对值(比如说年龄)进行排序 根据 ‘Age’ 列进行升序排序,如果 ‘Age’ 相同则根据 ‘Name’ 列进行降序排序 df_sorted_multi df.sort_values(by[Age, Name], ascending[True, False]) print(df_sorted_multi)

正则表达式 速成

正则表达式的作用 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字…

Tailwind 4.0 即将到来:前端开发的“速度与激情”

随着前端开发技术的不断进步,我们每天都在寻找更快、更简洁的解决方案来提升我们的开发效率和用户体验。今天,我要为大家介绍一项令人振奋的新技术进展——Tailwind 4.0的来临! 对于经常使用Tailwind的朋友们来说,这个消息无疑是激…

规则引擎之LiteFlow应用

官网地址&#xff1a;LiteFlow DEMO 整体结构 1.引入maven依赖 <dependency><groupId>com.yomahub</groupId><artifactId>liteflow-spring-boot-starter</artifactId><version>2.11.4.2</version> </dependency> 2. 配置yml …

mysql数据库备份脚本.sh

mysql数据库备份脚本.sh #!/bin/bash #备份路径 BAKDIR/home/peter/date %Y-%m-%d #要备份的数据库 MYSQLDBtest #使用哪个用户备份 MYSQLUSRroot #判断是否是root用户执行此脚本 if [ $UID -ne 0 ] then echo This scripts must use the root user!!! sleep 2 exit…

HDFS [MSST‘10] 论文阅读笔记

原论文:The Hadoop Distributed File System (MSST’10) HDFS关键技术要点概览 设计目标:HDFS旨在可靠地存储大型数据集,并以高带宽流式传输这些数据集到用户应用程序。它通过在大量服务器上分布存储和计算资源,使得资源可以随着需求的增长而扩展,同时保持经济高效。架构组…

24年权威数学建模报名通知汇总(含妈妈杯、国赛、美赛、电工杯、数维杯、五一数模、深圳杯......)

1、MathorCup比赛 报名时间&#xff1a;2024年4月11日中午12点&#xff08;周四&#xff09; 比赛开始时间&#xff1a;2024年4月12日上午8时&#xff08;周五&#xff09; 比赛结束时间&#xff1a;2024年4月16日上午9时&#xff08;周二&#xff09; 报名费用&#xff1a…

HarmonyOS 开发-Worker子线程中解压文件

介绍 本示例介绍在Worker 子线程使用ohos.zlib 提供的zlib.decompressfile接口对沙箱目录中的压缩文件进行解压操作&#xff0c;解压成功后将解压路径返回主线程&#xff0c;获取解压文件列表。 效果图预览 使用说明 点击解压按钮&#xff0c;解压test.zip文件&#xff0c;显…

基于springboot实现医院管理系统项目【项目源码+论文说明】

基于springboot实现医院管理系统演示 摘要 随着信息互联网信息的飞速发展&#xff0c;医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求&#xff0c;创建了一个计算机管理医院管理系统的方案。文章介绍了医院管理系…

RabbitMQ如何保证消息的幂等性???

在RabbitMQ中&#xff0c;保证消费者的幂等性主要依赖于业务设计和实现&#xff0c;而非RabbitMQ本身提供的一种直接功能。 在基于Spring Boot整合RabbitMQ的场景下&#xff0c;要保证消费者的幂等性&#xff0c;通常需要结合业务逻辑设计以及额外的技术手段来实现。以下是一个…

Redis的双写一致性问题

双写一致性问题 1.先删除缓存或者先删除数据库都可能出现脏数据。 2.删除两次缓存&#xff0c;可以在一定程度上降低脏数据的出现。 3.延时是因为数据库一般采用主从分离&#xff0c;读写分离。延迟一会是让主节点把数据同步到从节点。 1.读写锁保证数据的强一致性 因为一般放…

【CVE复现计划】CVE-2024-0195

CVE-2024-0195 简介&#xff1a; SpiderFlow是新一代开源爬虫平台&#xff0c;以图形化方式定义爬虫流程&#xff0c;不写代码即可完成爬虫。基于springbootlayui开发的前后端不分离,也可以进行二次开发。该系统/function/save接口存在RCE漏洞&#xff0c;攻击者可以构造恶意命…

蓝桥杯加训

1.两只塔姆沃斯牛&#xff08;模拟&#xff09; 思路&#xff1a;人和牛都记录三个数据&#xff0c;当前坐标和走的方向&#xff0c;如果人和牛的坐标和方向走重复了&#xff0c;那就说明一直在绕圈圈&#xff0c;无解 #include<iostream> using namespace std; const i…

评论发布完整篇(react版)

此篇文章阐述评论的最新、最热之间的tab标签切换&#xff08;包括当前所在tab标签的高亮显示问题&#xff09;&#xff1b;当前评论的删除&#xff1b;除此之外还延伸了用户的评论实时发布功能。其中最新tab标签所展示的内容是根据当前评论点赞数来进行排序&#xff0c;点赞数量…

人工智能前沿成科技竞争新高地

以下文章来源&#xff1a;经济参考报 近日&#xff0c;首届中国具身智能大会&#xff08;CEAI 2024&#xff09;在上海举行。作为人工智能领域的前沿热点&#xff0c;具身智能正逐步走进现实&#xff0c;成为当前全球科技竞争的新高地、未来产业的新赛道、经济发展的新引擎。 “…