问题
今天项目中发现有流程流转时找不到serviceTask里指定的classname,经排查发现是前几天更改了bpmn,将里面的delegate类路径全给改了,所以之前运行中的流程都找不到包了,导致报错:

解决思路
摆在眼前两条路,第一条是把运行中的流程全都给改了,第二条是在原路径中加上delegate类。第二条路看起来偷懒、简单,但是仔细一看,我的delegate都是注入的bean,这样会导致有重复name的bean。于是采用第一种方法,解决。下面上测试代码。
代码
@Test
public void illegalProcessMigrateTest() {
List<Illegal> illegalList = illegalMapper.selectNotComplete(null, "2020-11-18");
Deployment deploy = repositoryService.createDeployment().
addClasspathResource("processes/IllegalProcess.b

本文记录了解决Flowable中运行的流程实例因delegate类路径改变导致的问题。作者通过重新部署流程定义并迁移运行实例来修复错误,避免了可能的bean冲突。测试代码展示了如何批量更新流程实例,并提供了问题总结和避免此类问题的建议。
最低0.47元/天 解锁文章
1055

被折叠的 条评论
为什么被折叠?



