第11篇:Flowable-BPMN部署常见问题没有对ACT_RE_PROCDEF表进行插入操作
上一篇:
第10篇:Flowable-BPMN操作流程部署、启动
https://blog.csdn.net/weixin_40816738/article/details/102902348
文章目录
- 一、问题描述
- 二、问题定位
- 三、解决方案
- 四、验证结果
一、问题描述
- 流程在部署的时候调用服务RepositoryService,该服务通过createDeployment,创建了一个DeploymentBuilder,由builder的deploy,问题代码如下:
inputStream=new FileInputStream(new File(filePath));DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().name("TEST_FLOW").addInputStream("flowname",inputStream);Deployment deployment= deploymentBuilder.deploy();
用后查看部署信息表ACT_RE_DEPLOYMENT有内容,如下图:
查询ACT_RE_PROCDEF表发现没有内容:
二、问题定位
跟踪代码进入类ParsedDeploymentBuilder,build函数如下:
public ParsedDeployment build() {List<ProcessDefinitionEntity> processDefinitions = new ArrayList();Map<ProcessDefinitionEntity, BpmnParse> processDefinitionsToBpmnParseMap = new LinkedHashMap();Map<ProcessDefinitionEntity, EngineResource> processDefinitionsToResourceMap = new LinkedHashMap();DeploymentEntity deploymentEntity = (DeploymentEntity)this.deployment;Iterator var5 = deploymentEntity.getResources().values().iterator();while(true) {EngineResource resource;do {if (!var5.hasNext()) {return new ParsedDeployment(deploymentEntity, processDefinitions, processDefinitionsToBpmnParseMap, processDefinitionsToResourceMap);}resource = (EngineResource)var5.next();} while(!this.isBpmnResource(resource.getName()));LOGGER.debug("Processing BPMN resource {}", resource.getName());BpmnParse parse = this.createBpmnParseFromResource(resource);Iterator var8 = parse.getProcessDefinitions().iterator();while(var8.hasNext()) {ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity)var8.next();processDefinitions.add(processDefinition);processDefinitionsToBpmnParseMap.put(processDefinition, parse);processDefinitionsToResourceMap.put(processDefinition, resource);}}}
看到调用了this.isBpmnResource(resource.getName()),我们输入的名字会进行校验,校验函数如下:
protected boolean isBpmnResource(String resourceName) {String[] var2 = ResourceNameUtil.BPMN_RESOURCE_SUFFIXES;int var3 = var2.length;for(int var4 = 0; var4 < var3; ++var4) {String suffix = var2[var4];if (resourceName.endsWith(suffix)) {return true;}}return false;}
其中资源后缀的定义如下:
public static final String[] BPMN_RESOURCE_SUFFIXES = new String[]{"bpmn20.xml", "bpmn"};
三、解决方案
调整资源名以bpmn或者bpmn20.xml结尾。调整如下:
repositoryService.createDeployment().name("TEST_FLOW").addInputStream("flowname.bpmn20.xml",inputStream);
四、验证结果
修改后重新调用,验证结果如下:
下一篇:
第12篇:Flowable-BPMN操作流程之用户任务UserTask
https://blog.csdn.net/weixin_40816738/article/details/102902596
第11篇:Flowable-BPMN部署常见问题没有对ACT_RE_PROCDEF表进行插入操作相关推荐
- 亮点抢先看 | 旷视科技11篇 ICCV 2019 论文概览
点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自旷视研究院(megviir). ICCV 2019 论文如期发榜,旷视科技共有11篇论文被录取,涵盖通用物体检测及数据集.文字检测与识别.半监 ...
- 厚积薄发!他读博前三年零文章,后期发力产出11篇一作,现任985高校博导
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:募格学术 | 整理自央视视频<开讲啦>.抖音 ...
- 厚积薄发的90后:读博前三年零文章,后期发力产出11篇一作,现任985高校博导...
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文来源:重庆发布.重庆大学电气工程学院.清华研读间 本科毕业于山东大学,随后保研直博到清华大学,毕业 ...
- 读博前三年0文章,后期发力一口气11篇一作!这个“90后”现任职985博导
来源:科研大匠 通过石墨烯,可以让聋哑人士"说话",实现与人交流. 近日,重庆大学电气工程学院特聘研究员."90后"博士生导师的陶璐琪的一项研究成果引起广泛关注 ...
- ICCV 2019接收论文提前看,旷视11篇入选文章放出 | 资源
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI ICCV 2019最终论文接收结果终于全部公布,这一次,一共有1077篇论文被接收,接受率为25%. ICCV的全称是 IEEE Inte ...
- Skywalking部署常见问题以及注意事项
Skywalking部署常见问题以及注意事项 Intro SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performanc ...
- 怎么停止skywalking_Skywalking部署常见问题以及注意事项
Skywalking部署常见问题以及注意事项 Intro SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performanc ...
- 11篇SCI论文,多次跨专业,武大物理博士敲开美国顶尖生命医学研究中心大门...
2009年踏入武大的校门,27岁的物理科学与技术学院15级博士研究生饶浪,今年将赴美国德克萨斯大学西南医学中心攻读博士后.在生物医学领域,该中心走出过7名诺贝尔奖得主,多于美国国立卫生研究院.哈佛大学 ...
- 语文七年级计算机作文,七年级上册语文期末考试作文(精选11篇)
七年级上册语文期末考试作文(精选11篇) 在现实生活或工作学习中,大家都写过作文,肯定对各类作文都很熟悉吧,作文是从内部言语向外部言语的过渡,即从经过压缩的简要的.自己能明白的语言,向开展的.具有规范 ...
最新文章
- 小分子溶液当硬盘!布朗大学逆天研究:用代谢分子存储照片,准确率达99%
- python自动化测试xpath_Selenium自动化测试实例基于python
- 【转载】spring framework体系结构详解
- Plupload+easyui+springmvc实现批量上传
- MySQL表完整性约束
- HDU 3473 Minimum Sum
- JavaOne 2015:高级模块化开发
- 响应式和自适应的区别
- 制作可以 SSH 登录的 Docker 镜像
- Android Studio 解决 Cannot resolve symbol xxx 添加依赖后出现飘红
- java属性定义_Java管理扩展指南--几分钟带你理解MBean
- 将中文版pycharm改成英文版
- 使用layui实现表格制作
- c语言输出最大的数ns流程图_怎么将100至200中全部的素数用NS流程 – 手机爱问...
- java BMI体重测量代码
- Maven系列学习(1)——安装以及本地仓库和仓库镜像的配置
- 深度解析IPFS是什么
- 【深度好文】python加速库cython简介
- 阅读开源Python脚本学习笔记1,之python异常
- python本地安装pip命令的终极教程