Flowable动态修改在途流程

更新时间:2023-06-30 11:05:41 阅读: 评论:0

Flowable动态修改在途流程
背景
之前在⽣产上部署了⼀个节点较多⽂件⼤⼩较⼤的流程图,在⽤eclip改图的时候图是正常的,然后部署上去的时候发现有两条线进和出的节点错乱了,导致流程⾛乱;
克罗米芬例⼦:
原先正确的流程图:
孕妇梦见狗是胎梦吗部署上去之后有问题的流程图:
服装品牌排名>富贵天姿
有问题的流程图出现的情况:
如果是⾛urTask3的情况,在urTask2执⾏完之后,会⽣产⼀个urTask3和⼀个urTask5的任务数据;
因为flowbale每部署⼀次流程,流程的版本就加⼀,不同版本互相不影响,问题就来,我已经在途的流程怎么修改呢,我应该如何才能让停留着urTask1和urTask2的流程往下执⾏的时候是按着正确的版本⾛呢?
豆角烧茄子解决⽅案
flowable是根据解析我们部署的xml,在数据库存⼀份,然后把数据解析到本地的内存中(在执⾏流程
的时候就可以直接读内存中的数据,不需要再次去读库和解析xml数据);
此时就有两个疑问点:
我们是否可以直接把数据库中的xml数据直接替换掉,然后刷新flowable本地缓存?
如何刷新flowable的本地缓存?
动⼿
在flowbale框架中
ACT_RE_PROCDEF:记录部署的流程的相关信息,如流程id,流程名称,版本号,部署id等
ACT_GE_BYTEARRAY:记录流程的xml信息
⾸先把对的流程重新部署⼀遍
假如VERSION_为16的是我们后⾯部署正确的版本,15为有问题的版本,我们需要把16版本的XML数据覆盖到15版本上,让在途的15版本的数据按覆盖后的XML去执⾏;强迫症治疗
细⼼的朋友会发现ACT_GE_BYTEARRAY和ACT_RE_PROCDEF两个表中都会有DEPLOYMENT_ID_;
写给妈妈的一段话
所以,直接把ACT_GE_BYTEARRAY中,版本16的BYTES_数据直接覆盖15的,到这⾥流程替换就已经完成了;卖房合同怎么写
然后就到了疑问2了,我要如何刷新flowable的本地缓存呢?
因为时间上的不允许(避免⽣产上过多异常数据),我就没有去找flowable有没有相关刷新缓存的接⼝了,直接来⼤招,重启项⽬在修改完BYTES_的数据和项⽬重启完之后,后续的流程也没跑乱了,可以正确执⾏了。

本文发布于:2023-06-30 11:05:41,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1070071.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:流程   数据   部署
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图