2023年8月1日发(作者:)
⼯作流之Camunda开发记录(⼀)----常⽤API与流程它是什么 ⼀种⼯作流引擎,是Activiti的变种,他怎么来的其他很多地⽅有介绍 我不怎么关⼼做什么 我本次记录的是作为⼯作流引擎使⽤ 进⾏⼆次封装开发 只⽤他的⼀个壳⼦
具体流程是: 1、前端传他⾃⼰的Json结构。当然必要时需要添加后端定制化的东西 2、后端解析为Camunda识别的Json结构 3、解析中需要通过camunda 的 ⽤户任务与服务任务调⽤⾃⼰业务的逻辑 4、发布流程定义 5、启动流程实例⽇常API使⽤与名词介绍准备⼯作 1、⾸先我使⽤的是Springboot+Camunda 启动时加上注解即可使⽤ 在主类 + @EnableProcessApplication 当然依赖也不能少 我使⽤的是Gradle开发依赖是最新版的 compile group: 'boot', name: 'camunda-bpm-spring-boot-starter-webapp', version: '7.14.0' 使⽤maven的同学可以⾃⼰再找哈 这个没啥难度 2、想要后端⾃⼰测试 可以下载⼀个官⽅画图插件 Camunda-modeler
地址为: /camunda/camunda-modeler/releases 3、画图插件使⽤很简单啦 简单的画图随便看看就会了API介绍流程定义发布 1、上⾯的准备⼯作做完了 启动boot⼯程 第⼀次⽐较慢 会⾃动⽣成47张表 这个我⼏乎不关⼼ 因为我⽤我⾃⼰的业务流程 只是⽤它的壳⼦⽽已 2、我们先拿到⼀个简单的XML结构:3、这⾥的xml有⼏种形式可以使⽤我只说两种a、⽂件形式 ⽂件必须以结尾b、字符串形式 没有什么过多要求 名称必须是bpmn内的名称统⼀拿到xml结构我们就可以进⾏发布了 发布后得到的对象我们称之为流程定义 这⼀步很重要//
之前我们已经在主类加了注解的话
这⾥直接通过Spring注⼊RepositoryService对象就可以使⽤
之后关于camunda的所有的Service
同理//
字符串发布 s1则为xml格式字符串Deployment deploy = Deployment().addString("", s1).deploy();//
⽂件发布
其中param
是⽂件的路径信息Deployment deploy = Deployment().addInputStream("bpmnProcessId",new FileInputStream(param)).deploy();通过以上两种⽅式 我们都可以成功进⾏发布 这⾥发布失败会有提⽰在我的使⽤过程中 我总结了⼏点会遇到的错误1、bpmn⽂件中的id 必须以字母开头 不能以数字开始2、若为⽂件发布 则⽂件名称必须以结尾,否则即使发布成功也不会⽣成流程定义,在启动实例时会报错说找不到定义3、end是必要的但不是必须的、若没有end 我经历过启动⽆限循环跳不出的情况 找不到结束了嘛这⾥我们还需要拿到⼀个发布后的idProcessDefinitionQuery processDefinitionQuery = ProcessDefinitionQuery().deploymentId(()); List
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690874014a452201.html
评论列表(0条)