zoukankan      html  css  js  c++  java
  • 多数据库下activiti的流程定义缓存问题

    我们使用activiti(5.14版本号)作为流程引擎,今天在产品中发现一个问题,某流程的审批记录中,
    活动实例表中记录的活动名称(ACT_HI_ACTINST表的ACT_NAME)居然是该流程中不存在的活动名称,
    确认了该流程没有被改动升级过。
    后来发现了是activiti缓存的问题,我们的产品是支持多公司使用的,各个公司分别使用不同的数据库,
    因此不同公司下activiti生成的流程定义ID有可能反复(ACT_RE_PROCDEF的ID_字段),比如A公司和B公司都存在名为Proc:1:104的流程。
    这时候,activiti的缓存机制仅仅会载入当中一个到内存中(先使用的先载入),因此就会出现A公司使用了B公司流程的问题。

    解决方式:定义流程时,给流程定义ID加上一个公司ID的标识,这样就能保证全系统唯一。
  • 相关阅读:
    Callable的Future模式
    并发队列
    并发工具类
    线程池
    并发编程专题
    侧边栏:内有友链,分类等等
    脑残错误记录
    博主的OI流水账
    NOI2019游记
    NOI数论姿势瞎总结(Pi也没有)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4493891.html
Copyright © 2011-2022 走看看