千家信息网

Spring Boot集成工作流引擎Camunda的示例分析

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下Spring Boot集成工作流引擎Camunda的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2025年01月31日Spring Boot集成工作流引擎Camunda的示例分析

小编给大家分享一下Spring Boot集成工作流引擎Camunda的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

过程:进入官网。主页主色调让我想起了橙子,顶部白色背景配上黑Bold菜单,扫了一遍,点击Developers(嗯,这是直觉,毕竟用来开发嘛)。咦,发现还有二级菜单,再扫一遍,先LEARN吧,然后就点了 Build Your First Project 。一直滚动鼠标,看到了Quick Start,点击Learn more,新开了个页签。因为我的是SpringBoot项目,所以直接点开了Spring Boot,然后就跟着文档真正Start了。

1.IDEA创建一个SpringBoot项目,还是用阿里云的Initializr吧,比spring.io快。

2.引入Camunda BPM的依赖,我只引入了camunda-bpm-spring-boot-starter-webapp(因为我要查看Camunda的表结构,必须用自己的MySQL),而且调整了版本为3.4.0。

然后在resources下面新增META-INF/processes.xml空文件。

(引入Camunda的SpringBoot项目,启动时会自动建表)

3.Spring Boot程序入口添加注解@EnableProcessApplication。

4.接下来就是要设计一个工作流了,需要下载设计软件Camunda Modeler ,一家的,下吧,不慌。然后参照文档设计了借款工作流。然后根据项目需要设计了自己的工作流

流程开始,先走"开发",走完会输出一个布尔值pass,true则通过走"测试",false则不通过"流程失败结束"。走"测试"的话,也会输出一个布尔值pass,true则通过走"流程成功结束",否则"流程失败结束"。

5.保存工作流,放入SpringBoot项目resources目录下,也可以在resources下新建子目录存放,便于分类管理。

6.接下来的内容很重要,因为开始涉及编码了。

A、首先就是流程怎么开始,这个简单

/** 操作流程实例 */@Autowiredprivate RuntimeService runtimeService;
ProcessInstance instance = runtimeService.startProcessInstanceByKey(参数是工作流ID);System.out.println("实例启动成功,实例ID:" + instance.getProcessInstanceId());

记住,这个实例ID(不是工作流ID)一定要跟你的业务绑定,因为流程一启动,就会走"开发"。

B、第二步就是怎么设置这个"开发"的输出参数pass了(踩了很多的坑)

/** 操作任务 */@Autowiredprivate TaskService taskService;
Task task = taskService.createTaskQuery().processInstanceId(刚才那个跟业务绑定的实例ID).singleResult();Map variables = new HashMap<>(1);variables.put("pass", true);taskService.complete(task.getId(), variables);System.out.println("开发任务执行成功,任务ID:" + task.getId());

singleResult是因为我这里开发就一个task,如果你的工作流某个节点有多个task,就用list()方法,然后一个个处理task。

然后"测试"的跟"开发"就差不多了,拿到task,设置参数,完成task,结束。

C、至于"开发"和"测试",各节点里面要做的事情,我是设计工作流时,设置节点的Listeners处理的,有Execution Listener和Task Listener,然和配合Event Type。

以上是"Spring Boot集成工作流引擎Camunda的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

工作流 工作 开发 流程 实例 项目 设计 测试 成功 任务 内容 参数 就是 篇文章 节点 输出 引擎 示例 分析 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 福建 维修 软件开发 软件开发和软件设计 滨州物流竞价报价软件开发咨询 临沂海创网络技术 解放导航软件开发 订餐系统数据库 魔兽世界 服务器开服时间 银行软件开发中心和理财子公司 数据库开发技术教案 网络安全与执法属于法学类吗 二级mysql数据库程序设计 虞城县欧凡网络技术有限公司 数据库画图软件有哪些 电脑启动后一直在运行注册服务器 计算机网络安全管理工作 发票系统服务器连接失败怎么办 下载网络安全图片 赛车gt7连不上服务器 转原服务器多久能上藏宝阁 怎样查看数据库的安装路径 浪潮服务器支持哪些国产cpu java实现数据库的事务 淘宝购物车数据库设计 西安奇火网络技术有限公司 浪潮服务器恢复 济源网络技术市场报价 大数据商务软件开发是学什么的 宁夏企业党建软件开发专业制作 msc.marc材料数据库 温州口碑好的网络技术咨询热线
0