Flowable7.0.1框架严重bug,流程跳转到指定节点导致流程中断

一、Bug描述

使用7.0.1版本的 moveActivityIdsToSingleActivityId 或 moveExecutionsToSingleActivityId实现节点跳转,程序不会报错,但是act_ru_task 没有生成新的任务,导致流程中断,这是相当严重的bug。

经过多次测试,发现单实例没问题,如果是多实例就会产生上边说的问题,导致流程中断

runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).moveActivityIdsToSingleActivityId("当前的任务的节点id", "需要跳转的目标节点").changeState();runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).moveExecutionsToSingleActivityId(realExecutionIds,
targetRealActivityId).changeState();

二、问题复现

1、退回发起人节点

从审核人2退回发起人,经过测试发现退到发起人是没有问题的。 

2、其他节点退回非发起人节点 

 从审核人2退回审核人1或审核人3退回审核人1或审核人2,测试发现,会产生流程中断,退回后的节点没有产生新任务,经过断点发现没有调用获取人员的UEL表达式,如下图所示

三、解决方案

1、退回低版本

7.0.1 -->7.0.0.M1

6.8.1-->6.8.0

2、修改源代码

调用退回api的时候,会调用 

org.flowable.engine.impl.dynamic.AbstractDynamicStateManager的createEmbeddedSubProcessAndExecutions 方法

本地代码创建和源码完全同包名、同方法名的类,将低版本的6.8.0或6.7.2版本中的

createEmbeddedSubProcessAndExecutions方法的实现替换掉高版的实现即可。

四、总结

github 上issue也有好几人人遇到该问题,https://github.com/flowable/flowable-engine/issues/3944

但是官方还没推出该bug的解决方案,建议还是先降低版本,最方便也最省事,等官方解决了可以再切回来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/433198.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】TLS/SSL握手之Records

TLS / SSL会话是由记录(Records)所组成,有4种records HandshakeAlertChange Cipher SpecApplication DataHandshake和Alert Records被分为子类型(Subtypes): Handshake:Client HelloHandshake&a…

使用 Llama-index 实现的 Agentic RAG-Router Query Engine

前言 你是否也厌倦了我在博文中经常提到的老式 RAG(Retrieval Augmented Generation | 检索增强生成) 系统?反正我是对此感到厌倦了。但我们可以做一些有趣的事情,让它更上一层楼。接下来就跟我一起将 agents 概念引入传统的 RAG 工作流,重新…

Apache Iceberg 数据类型参考表

Apache Iceberg 概述-链接 Apache Iceberg 数据类型参考表 数据类型描述实例方法注意事项BOOLEAN布尔类型,表示真或假true, false用于条件判断,例如 WHERE is_active true。确保逻辑条件的正确性。INTEGER32位有符号整数42, -7可用于计算、聚合&#xf…

基于 Redis 实现滑动窗口的限流

⏳ 限流场景:突发流量,恶意流量,业务本身需要 基于 Redis 实现滑动窗口的限流是一种常见且高效的做法。Redis 是一种内存数据库,具有高性能和支持原子操作的特点,非常适合用来实现限流功能。下面是一个使用 Redis 实现…

Ubuntu环境下字体安装

本文介绍Ubuntu环境下字体安装。 软件(如Qt应用软件)开发过程中经常会涉及到字体的选择,有时候Ubuntu环境下并没有我们想要的字体,本文介绍常用字体及在Ubuntu环境下如何安装。 1.常用开源字体 有些字体商用并不是免费的&#…

Java搭建法律AI助手,快速实现RAG应用

使用AI4J快速接入RAG应用 | 结合Pinecone实现法律AI助手RAG应用 本博文给大家介绍一下如何使用AI4J快速接入OpenAI大模型,并且结合Pinecone向量数据库实现一个刑法AI助手的RAG应用。 介绍 由于SpringAI需要使用JDK17和Spring Boot3,但是目前很多应用依…

idea中.git文件夹存在但是没有git功能列表

1.问题: 该项目中已经将.git文件夹置入了,但是idea中却没有git相关的功能列表,如图: 2.解决办法: 在【文件】-【设置】-【版本控制】-【目录映射】中添加目录映射应用就好了 (【File】 -> 【S…

为家增添幸福气息:八卦福·门牌的吉祥寓意

八卦福门牌作为一种独特的家居装饰,不仅美观,还蕴含着丰富的文化内涵和吉祥寓意。它通过融合八卦与“福”字的象征,提升家庭的幸福气息。以下将详细探讨八卦福门牌的吉祥寓意以及如何为家庭增添幸福。 八卦福门牌的吉祥寓意 八卦的象征&…

HTML、CSS

初识web前端 web标准 Web标准也称为网页标准,由一系列的标准组成,大部分由W3C (World Wide Web Consortium,万维网联盟) 负责制定。三个组成部分: HTML: 负责网页的结构(页面元素和内容)。CSS: 负责网页的表现(页面元素的外观、位置等页面样…

使用AT command 修改手机APN

文章目录 使用AT command 修改手机APN其他AT command 使用AT command 修改手机APN 首先通过设备管理器查找到手机所使用的串口号。 然后通过putty 等串口连接软件,以telnet的方式连接手机。 连接成功后先,查看手机的 APN: ATCGDCONT可以用于…

多维时序 | GWO-VMD-SSA-LSTM灰狼优化变分模态分解联合麻雀优化长短期记忆网络多变量时间序列光伏功率预测(Matlab)

多维时序 | GWO-VMD-SSA-LSTM灰狼优化变分模态分解联合麻雀优化长短期记忆网络多变量时间序列光伏功率预测 目录 多维时序 | GWO-VMD-SSA-LSTM灰狼优化变分模态分解联合麻雀优化长短期记忆网络多变量时间序列光伏功率预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 …

runwayML启动500万美元基金资助AI生成影视

runwayML公司近日宣布启动一项大胆的计划,旨在推动人工智能在电影制作中的应用。该公司已设立一个基金,投入500万美元的现金以及额外的服务积分,支持多达100部使用其人工智能视频生成器的原创电影。这一举措不仅为电影制作人提供了一个前所未…

护眼台灯哪个品牌更好?五款由专业眼科医生推荐的护眼台灯

台灯是每个家庭中不可或缺的照明设备,尤其是对于有学龄儿童的家庭来说,孩子们每天在家学习和做作业时,一款优秀的护眼台灯显得尤为重要。如果长期使用的台灯是不合格,不能给孩子提供一个好的光照环境,那么孩子们的视力…

【C/C++】【基础数论】33、算数基本定理

算术基本定理,又称正整数的唯一分解定理。 说起来比较复杂,但是看一下案例就非常清楚了 任何一个大于 1 的正整数都可以唯一地分解成有限个质数的乘积形式,且这些质数按照从小到大的顺序排列,其指数也是唯一确定的。 例如&#…

mobaxterm、vscode通过跳板机连接服务器

目标服务器:111.111.11.11 跳板机:100.100.10.10 1. mobaxterm通过跳板机连接服务器 1.1 目标服务器信息 1.2 跳板机信息 1.3 登录 点击登录,会输入密码,成功 参考:https://blog.csdn.net/qq_40636486/article/det…

Cocos 3.8.3 实现外描边效果(逃课玩法)

本来想着用Cocos 的Shader Graph照搬Unity的思路来加外描边,发现不行,然后我就想弄两个物体不就行了吗,一个是放大的版本,再放大的版本上加一个材质,这个材质面剔除选择前面的面剔除就行了,果不其然还真行。…

冒泡排序-C语言

1.问题&#xff1a; 从小到大对10个数进行排序&#xff0c;要求使用冒泡排序实现。 2.解答&#xff1a; 排序规律有两种&#xff1a;一种是“升序”&#xff0c;从小到大&#xff1b;另一种是“降序”&#xff0c;从大到小。 3.代码&#xff1a; #include<stdio.h>//头…

展锐平台的手机camera 系统isptool 架构

展锐平台的isptool 主要用于支持展锐各代芯片isp的各效果模块快速tuning和参数生成打包。 具体需要&#xff1a; 一、工具段能在线实时预览到调试sensor经过isp 处理后的图像&#xff0c;也就是各模块的参数在当下实时生效&#xff0c;通过工具能在PC 上在线观看到修改的效果。…

Python中的数据处理与分析:从基础到高级

在数据科学和数据分析领域&#xff0c;Python凭借其丰富的库和强大的生态系统&#xff0c;成为了最受欢迎的语言之一。本文将从基础到高级&#xff0c;详细介绍如何使用Python进行数据处理和分析&#xff0c;涵盖数据清洗、数据转换、数据可视化等多个方面。 1. 数据导入与导出…

【07】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-Swiper轮播组件与样式结构重用

序言&#xff1a; 本文详细讲解了关于我们在页面上经常看到的轮播图在鸿蒙开发中如何用Swiper实现&#xff0c;介绍了Swiper的基本用法与属性&#xff0c;及如何面对大段的重复代码进行封装和重用&#xff08;Extend、Styles、Builder&#xff09;&#xff0c;使代码更加简洁易…