当前位置: 首页 > news >正文

Springboot+activiti启动时报错XMLException: Error reading XML

异常描述:

同一个activiti数据源,我一个项目A(springboot 3.2.10 + activiti 7.1.0.M6)启动不会报错,但是另一个项目B(springboot 2.7.12 + activiti 7.1.0.M6)启动却报以下异常:

Failed to start bean 'processDeployedEventProducer'; nested exception is org.activiti.bpmn.exceptions.XMLException: Error reading XML

初步排查:

问过AI发现该检查的都检查了,还是报错,所以怀疑起是activiti加载的XML字节流有问题,因此看错误消息,进入错误的行,进行断点调试,发现异常出现在以下这段代码中org.activiti.engine.impl.bpmn.deployer.ParsedDeploymentBuilder.build()方法中

猜测是因为其字节流是低版本activiti发布 或 发布的源文件不符合规范 或 文件损坏导致。


解决方案:


方案1:将排查到异常的流程文件在表act_re_procdef中删除,然后将原本的流程文件后缀格式改为.bpmn再进行发布流程,如果删除act_re_procdef记录时出现外键关联异常,可按方案二进行。


方案2

首先,将原本的流程文件后缀格式改为.bpmn再进行发布流程,此时会在表act_ge_bytearray生成一条记录,在第三步时会用到;

第二步,在表act_re_procdef找到异常的记录,本案例异常的记录RESOURCE_NAME_=process/bpmn20.xml,将之改为process/bpmn20.bpmn;

第三步,偷梁换柱:在表act_ge_bytearray中找到有问题的DEPLOYMENT_ID_那条记录,把字段ID_、DEPLOYMENT_ID_ 赋值到第一步生成的那条记录中,旧纪录删除。

重启springboot项目,并调试发现已启用新的流程文件及其字节流,启动成功。

http://www.dtcms.com/a/298464.html

相关文章:

  • 优思学院|QC七大手法之一的检查表应如何有效使用?
  • 【unitrix】 6.15 “非零非负一“的整数类型(NonZeroNonMinusOne)特质(non_zero_non_minus_one.rs)
  • 亚马逊广告策略:如何平衡大词和长尾词的效果?
  • 倩女幽魂手游代言人杨洋携剑仙入世 仙姿临世锋芒毕露
  • docker-compose:未找到命令的检查步骤和修复
  • ABP VNext + OData:实现可查询的 REST API
  • 服务端处于 TIME_WAIT 状态的 TCP 连接,收到相同四元组的 SYN 后会发生什么?详解
  • HCIP上HCIA复习静态综合实验
  • 移动端设备能部署的llm
  • 系统日志与用户信息绑定实现日志跟踪
  • 前端基础知识Vue系列 - 27(Vue项目中如何解决跨域)
  • 从 SQL Server 到 KingbaseES V9R4C12,一次“无痛”迁移与深度兼容体验实录
  • js基础概念-1
  • 牛客NC16660 [NOIP2004]FBI树(递归 + 二叉树后序遍历)
  • electron中IPC 渲染进程与主进程通信方法解析
  • 常用设计模式系列(十二)—享元模式
  • 如何在 FastAPI 中玩转 GraphQL 和 WebSocket 的实时数据推送魔法?
  • C++中使用Essentia实现STFT/ISTFT
  • git 连接GitHub仓库
  • 强化学习之策略熵坍塌优化-clip conv kv conv
  • 若依搭建详解
  • Android Paging 分页加载库详解与实践
  • 第七章 愿景11 琦琦复盘测试
  • Keepalived 深度技术解析与高可用实践指南
  • C++编程学习(第15天)
  • ServletRegistrationBean相关知识点
  • 用 Docker 一键部署 Flask + Redis 微服务
  • NX848NX854美光固态闪存NX861NX864
  • 截稿倒计时 TrustCom‘25大会即将召开
  • C++中AC、WA、RE、CE、TLE、MLE、PE、OLE的意思