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

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.xdnf.cn/news/16260.html

相关文章:

  • 深度学习day02--神经网络(前三节)
  • Elasticsearch-8.17.0 centos7安装
  • Ubuntu 环境下创建并启动一个 MediaMTX 的 systemd 服务
  • 栈与队列:数据结构核心解密
  • 链表反转算法详解
  • Fluent自动化仿真(TUI命令脚本教程)
  • springboot(3.4.8)整合mybatis
  • 【图像理解进阶】如何对图像中的小区域进行细粒度的语义分割?
  • WAIC2025预告|英码深元AI一体机将亮相华为昇腾展区,以灵活部署的能力赋能行业智能化转型
  • Nginx简单介绍
  • Java-Properties类和properties文件详解
  • 图论:最小生成树
  • classgraph:Java轻量级类和包扫描器
  • linux C — udp,tcp通信
  • 【Chrome】下载chromedriver的地址
  • 深入解析浏览器存储方案:Cookie、localStorage和sessionStorage特性与应用
  • GPU 服务器ecc报错处理
  • Java排序算法之<冒泡排序>
  • 单片机(STM32-ADC模数转换器)
  • 优思学院|QC七大手法之一的检查表应如何有效使用?
  • CSS 盒子模型学习版的理解
  • 数据结构 二叉树(1)
  • yarn在macOS上的安装与镜像源配置:全方位指南
  • 从 SQL Server 到 KingbaseES V9R4C12,一次“无痛”迁移与深度兼容体验实录
  • Orbbec开发---数据流与数据流操作
  • ZLMediaKit 源代码入门
  • Spring 策略模式实现
  • 【DeepRare】疾病识别召回率100%
  • SpringBoot学习路径二--Spring Boot自动配置原理深度解析
  • 教培机构如何开发自己的证件照拍照采集小程序