啟動Activiti項目報錯:org.activiti.engine.ActivitiObjectNotFoundException: no deployed process definition found with id '22501'


背景

  • 啟動activiti項目時,出現錯誤org.activiti.engine.ActivitiObjectNotFoundException: no deployed process definition found with id '22501'

原因

  • 獲取流程實例信息時,創建查詢語句不正確
  • 下面是出錯的代碼
        //獲取進程方法
        RepositoryService repositoryService = processEngine.getRepositoryService();
        RuntimeService runtimeService = processEngine.getRuntimeService1
        //部署流程
        DeploymentBuilder createDeployment = repositoryService.createDeployment();
        DeploymentBuilder addClasspathResource = createDeployment.addClasspathResource("diagrams/Vacation.bpmn");
        Deployment deploy = addClasspathResource.deploy();
        //獲取流程實例信息
        DeploymentQuery createDeploymentQuery = repositoryService.createDeploymentQuery();
        DeploymentQuery deploymentId = createDeploymentQuery.deploymentId(deploy.getId());
        
        Deployment singleResult = deploymentId.singleResult();
        //流程開始
        Map<String, Object> vars = new HashMap<String, Object>();
        vars.put("employeeName", "jingguoliang");
        vars.put("numberOfDays", new Integer(4));
        vars.put("VocationMotivation", "I will play with my friendgird");
        ProcessInstance startProcessInstanceById = runtimeService.startProcessInstanceById(singleResult.getId(), vars);            
  • 下面是正確的代碼
      //獲取進程方法
        RepositoryService repositoryService = processEngine.getRepositoryService();
        RuntimeService runtimeService = processEngine.getRuntimeService();
        
        //定義流程
        DeploymentBuilder createDeployment = repositoryService.createDeployment();
        DeploymentBuilder addClasspathResource = createDeployment.addClasspathResource("diagrams/Vacation.bpmn");
        Deployment deploy = addClasspathResource.deploy();
        
        //獲取流程實例信息
        ProcessDefinitionQuery createProcessDefinitionQuery = repositoryService.createProcessDefinitionQuery();
        ProcessDefinitionQuery deploymentId = createProcessDefinitionQuery.deploymentId(deploy.getId());
        
        ProcessDefinition singleResult = deploymentId.singleResult();
        
        //流程開始
        Map<String, Object> vars = new HashMap<String, Object>();
        vars.put("employeeName", "jingguoliang");
        vars.put("numberOfDays", new Integer(4));
        vars.put("VocationMotivation", "I will play with my friendgird");
        ProcessInstance startProcessInstanceById = runtimeService.startProcessInstanceById(singleResult.getId(), vars);
  • 修改即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM