(二)工作流Activiti7流程部署和启动

2023-11-05 17:20

本文主要是介绍(二)工作流Activiti7流程部署和启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前置工作

使用Idea创建bpmn.xml文件并定义流程:
在这里插入图片描述
在这里插入图片描述
这里我定义了一个请假流程,流程定义文件保存在resource资源目录下的**/bpmn/leave.bpmn20.xml**
在这里插入图片描述
开始部署流程:

    @Testpublic void testActiviti(){//创建ProcessEngineConfigurationProcessEngineConfiguration configuration =ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");//通过ProcessEngineConfiguration创建ProcessEngine,此时会创建数据库ProcessEngine processEngine = configuration.buildProcessEngine();// 使用RepositoryService进行部署Deployment deployment = processEngine.getRepositoryService().createDeployment().addClasspathResource("bpmn/leave.bpmn20.xml").name("请假流程").deploy();// 4、输出部署信息System.out.println("流程部署id:" + deployment.getId());System.out.println("流程部署名称:" + deployment.getName());}

执行上面的代码后Activitri会自动帮我们把定义好的流程以及其他的信息一起保存在数据库,我们可以在数据库中查看到流程的部署信息:
ACT_RE_DEPLOYMENT
在这里插入图片描述
保存流程文件的ACT_GE_BYTEARRAY
在这里插入图片描述
到这里流程已经部署完成了,可以开始启动流程实例了。比如请假流程,每一个请假流程都会启动一个请假流程实例,就好比类和对象的关系,流程就是类,启动一个流程就好比创建一个对象。每个人的请假流程都是独立的且互不干扰。

     /*** 启动一个流程实例*/@Testpublic void startInstance(){//创建ProcessEngineConfigurationProcessEngineConfiguration configuration =ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");//通过ProcessEngineConfiguration创建ProcessEngine,此时会创建数据库ProcessEngine processEngine = configuration.buildProcessEngine();// 启动一个请假实例,开始请假流程ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceById("leave:2:5003");// 输出内容System.out.println("流程定义id:"+processInstance.getProcessDefinitionId());System.out.println("流程实例id:"+processInstance.getId());System.out.println("活动编号"+processInstance.getActivityId());}

启动一个实例后就开始startEvent了,Activiti就帮我们定义好了每个人的任务在数据库中:
ACT_RU_TASK表:
在这里插入图片描述
每当一个任务完成后就会从系统中删除,而在历史表中更新END_TIME字段,比如说请假流程xx科长审批完成,系统就会在task表中删除xx科长的任务信息添加xx部长的审批任务,历史任务表中的xx科长就会更新完成时间,新增xx部长的任务信息。

这篇关于(二)工作流Activiti7流程部署和启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/351345

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat