EAS 工作流缓存不一致问题原创
9人赞赏了该文章
693次浏览
未经作者许可,禁止转载编辑于2023年09月13日 16:36:15
写在前面,可更新下面补丁解决问题:
861版本:PT172285
850版本:PT173361
820版本:PT173183
如果综合考虑对打补丁有疑问,可以从最下面的附件中下载私包。
最近工作流又出现了在各实例之间缓存不能同步的问题,表现为流程变量丢失;任务,节点,流程状态在各实例之间状态不一致等。
刚好主干可以重现问题,跟踪了下发现了问题原因,原因和集成云在EAS端的代码有关系分析过程见链接:https://fantasy-dinner-f11.notion.site/fabe8eaf785a4fa187207bd97a48a13e
针对现场问题,如何验证?
1,去查询分析器执行如下 服务器端脚本,这个脚本是去获取缓存同步服务的 同步命令:
var c = java.lang.Class.forName("com.kingdee.cbos.process.vm.utils.group.MessageServer"); var field = c.getDeclaredField("services"); field.setAccessible(true); field.get(c).toString()
2,查看返回结果,返回结果会有2种情况
第一种,同步命令中包含【工作流的缓存同步命令】,没有问题:
工作流的缓存同步命令: CACHE_EXPIRE=com.kingdee.cbos.process.vm.utils.cache.MCastListener$CacheExpireSvc CACHE_CLEAR=com.kingdee.cbos.process.vm.utils.cache.MCastListener$CacheClearSvc
如下两种形式:
----
第二种,同步命令中 不包含【工作流的缓存同步命令】,有问题
3,处理方式,打工作流私包做兼容即可,私包见附件
UP00062254.rar(7.00KB)