上一篇:
第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表进行插入操作相关推荐

  1. 亮点抢先看 | 旷视科技11篇 ICCV 2019 论文概览

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自旷视研究院(megviir). ICCV 2019 论文如期发榜,旷视科技共有11篇论文被录取,涵盖通用物体检测及数据集.文字检测与识别.半监 ...

  2. 厚积薄发!他读博前三年零文章,后期发力产出11篇一作,现任985高校博导

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:募格学术 | 整理自央视视频<开讲啦>.抖音 ...

  3. 厚积薄发的90后:读博前三年零文章,后期发力产出11篇一作,现任985高校博导...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文来源:重庆发布.重庆大学电气工程学院.清华研读间 本科毕业于山东大学,随后保研直博到清华大学,毕业 ...

  4. 读博前三年0文章,后期发力一口气11篇一作!这个“90后”现任职985博导

    来源:科研大匠 通过石墨烯,可以让聋哑人士"说话",实现与人交流. 近日,重庆大学电气工程学院特聘研究员."90后"博士生导师的陶璐琪的一项研究成果引起广泛关注 ...

  5. ICCV 2019接收论文提前看,旷视11篇入选文章放出 | 资源

    鱼羊 发自 凹非寺  量子位 报道 | 公众号 QbitAI ICCV 2019最终论文接收结果终于全部公布,这一次,一共有1077篇论文被接收,接受率为25%. ICCV的全称是 IEEE Inte ...

  6. Skywalking部署常见问题以及注意事项

    Skywalking部署常见问题以及注意事项 Intro SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performanc ...

  7. 怎么停止skywalking_Skywalking部署常见问题以及注意事项

    Skywalking部署常见问题以及注意事项 Intro SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performanc ...

  8. 11篇SCI论文,多次跨专业,武大物理博士敲开美国顶尖生命医学研究中心大门...

    2009年踏入武大的校门,27岁的物理科学与技术学院15级博士研究生饶浪,今年将赴美国德克萨斯大学西南医学中心攻读博士后.在生物医学领域,该中心走出过7名诺贝尔奖得主,多于美国国立卫生研究院.哈佛大学 ...

  9. 语文七年级计算机作文,七年级上册语文期末考试作文(精选11篇)

    七年级上册语文期末考试作文(精选11篇) 在现实生活或工作学习中,大家都写过作文,肯定对各类作文都很熟悉吧,作文是从内部言语向外部言语的过渡,即从经过压缩的简要的.自己能明白的语言,向开展的.具有规范 ...

最新文章

  1. 小分子溶液当硬盘!布朗大学逆天研究:用代谢分子存储照片,准确率达99%
  2. python自动化测试xpath_Selenium自动化测试实例基于python
  3. 【转载】spring framework体系结构详解
  4. Plupload+easyui+springmvc实现批量上传
  5. MySQL表完整性约束
  6. HDU 3473 Minimum Sum
  7. JavaOne 2015:高级模块化开发
  8. 响应式和自适应的区别
  9. 制作可以 SSH 登录的 Docker 镜像
  10. Android Studio 解决 Cannot resolve symbol xxx 添加依赖后出现飘红
  11. java属性定义_Java管理扩展指南--几分钟带你理解MBean
  12. 将中文版pycharm改成英文版
  13. 使用layui实现表格制作
  14. c语言输出最大的数ns流程图_怎么将100至200中全部的素数用NS流程 – 手机爱问...
  15. java BMI体重测量代码
  16. Maven系列学习(1)——安装以及本地仓库和仓库镜像的配置
  17. 深度解析IPFS是什么
  18. 【深度好文】python加速库cython简介
  19. 阅读开源Python脚本学习笔记1,之python异常
  20. python本地安装pip命令的终极教程

热门文章

  1. SSDB 配置文件详解
  2. 数据结构实验之排序二:交换排序
  3. Dubbo-Admin 正式支持 3.0 服务治理
  4. 一文读懂云上DevOps能力体系
  5. 阿里云交通数据中台解决方案打造“数字化生产力”
  6. 【开发者成长】阿里代码缺陷检测探索与实践
  7. 一个优秀的可定制化Flutter相册组件,看这一篇就够了
  8. UnixBench算分介绍
  9. Pandas/networkx图分析简单入门 1
  10. 手把手,教你用MaxCompute+OpenSearch搭建分布式搜索引擎