美文网首页
activiti问题解决--获取流程中变量时org.activi

activiti问题解决--获取流程中变量时org.activi

作者: 我有一只喵喵 | 来源:发表于2019-03-06 10:16 被阅读0次

    activiti问题解决--获取流程中变量时org.activiti.engine.ActivitiObjectNotFoundException: execution 90005 doesn't

    一、问题描述

    1、流程定义
      <process id="myProcess" name="My process" isExecutable="true">
        <startEvent id="startevent1" name="Start"></startEvent>
        <serviceTask id="cf_serviceTask" name="Service Task" activiti:expression="${counter+1}" activiti:resultVariableName="counter">
          <multiInstanceLoopCharacteristics isSequential="true">
            <loopCardinality>${loop}</loopCardinality>
          </multiInstanceLoopCharacteristics>
        </serviceTask>
        <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="cf_serviceTask"></sequenceFlow>
        <endEvent id="endevent1" name="End"></endEvent>
        <sequenceFlow id="flow2" sourceRef="cf_serviceTask" targetRef="endevent1"></sequenceFlow>
      </process>
    
    2、问题发生场景

    开启3个serviceTask实例,利用中间变量counter进行运算操作并且将结果给counter,之后再程序中获取counter变量时,发生org.activiti.engine.ActivitiObjectNotFoundException: execution 90005 doesn'

    二、问题分析

    再流程中这些中间变量都统一存储在act_ru_variable表中,这些中间变量在流程运行过程中产生,在流程结束之后清除

    四、问题解决

    由于按照上述流程定义,serviceTask结束之后意味着整个流程已经结束,对应该流程实例在act_ru_variable表中的数据也已经被清除,所以在流程结束之后时获取中间变量则会报此类错误。

    相关文章

      网友评论

          本文标题:activiti问题解决--获取流程中变量时org.activi

          本文链接:https://www.haomeiwen.com/subject/vhazuqtx.html