之前看到好多代码使用工具类ProcessDiagramGenerator ,我的5.16怎么没有这个类呢?activiti-engine-5.16.jar中org.activiti.engine.impl.bpmn.diagram下面只有两个类Bpmn20NamespaceContext、ProcessDiagramLayoutFactory,没有ProcessDiagramGenerator这个类。一番寻觅之后发现5.16应该使用的是 activiti-image-generator-5.16.jar 的org.activiti.image.impl.DefaultProcessDiagramGenerator类,这个类实现了ProcessDiagramGenerator接口。
//流程跟踪,并高亮提示@RequestMapping(value = "track")public void track(@RequestParam("procInstId") String procInstId, HttpServletResponse response)throws Exception { ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() .processInstanceId(procInstId).singleResult(); BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); List activeActivityIds = runtimeService.getActiveActivityIds(procInstId); InputStream imageStream = new DefaultProcessDiagramGenerator().generateDiagram(bpmnModel, "png", activeActivityIds); // 输出资源内容到相应对象 byte[] b = new byte[1024]; int len; while ((len = imageStream.read(b, 0, 1024)) != -1) { response.getOutputStream().write(b, 0, len); }}
//流程跟踪,并高亮提示@RequestMapping(value = "track")public void track(@RequestParam("procInstId") String procInstId, HttpServletResponse response)throws Exception { ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() .processInstanceId(procInstId).singleResult(); BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); List activeActivityIds = runtimeService.getActiveActivityIds(procInstId); InputStream imageStream = new DefaultProcessDiagramGenerator().generateDiagram(bpmnModel, "png", activeActivityIds); // 输出资源内容到相应对象 byte[] b = new byte[1024]; int len; while ((len = imageStream.read(b, 0, 1024)) != -1) { response.getOutputStream().write(b, 0, len); }}