一,使用普通方法:activti自动发布流程图片,通过流程ID找到流程,查出图片
//通过流程ID(XML上写的)找到流程 processDefinition = repositoryService.createProcessDefinitionQuery() .processDefinitionKey("flow_3") .singleResult(); String diagramResourceName = processDefinition.getDiagramResourceName(); logger.info(diagramResourceName); InputStream imageStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), diagramResourceName); //输出 int len = 0; byte[] b = new byte[1024]; while ((len = imageStream.read(b, 0, 1024)) != -1) { System.out.write(b, 0, len); }
二、通过activiti强大的managerservice
//查找所有流程 for (ProcessDefinition processDefinition : repositoryService.createProcessDefinitionQuery().list()) { logger.info(processDefinition.getKey()+processDefinition.getId()+processDefinition.getName()); }; //创建activiti的CMD Command cmd=null; //这里输入的流程ID,不是KEY cmd=new GetDeploymentProcessDiagramCmd("flow_3:1:904"); InputStream is = managementService.executeCommand(cmd); int len = 0; byte[] b = new byte[1024]; while ((len = is.read(b, 0, 1024)) != -1) { System.out.write(b, 0, len); }
时间: 2024-11-05 21:57:37