标签:else inpu 保存 它的 flow 流程图 关联 print ted
一. 用flowable Modeler设计好流程图后,有多种资源部署方式
public Deployment deployFlow(String filePath) { try { DeploymentBuilder deploymentBuilder = repositoryService.createDeployment() .addClasspathResource(filePath); Deployment deployment = deploymentBuilder.deploy(); logger.info("成功:部署工作流成:" + filePath); return deployment; } catch (Exception e) { logger.error("失败:部署工作流:" + e); return null; } }
InputStream in = this.getClass().getClassLoader().getResourceAsStream("diagrams/approve.zip"); ZipInputStream zipInputStream = new ZipInputStream(in); Deployment deployment = processEngine.getRepositoryService()//获取流程定义和部署对象相关的Service .createDeployment()//创建部署对象 .addZipInputStream(zipInputStream)//使用zip方式部署,将approve.bpmn和approve.png压缩成zip格式的文件 .deploy();//完成部署 System.out.println("部署ID:"+deployment.getId()); System.out.println("部署时间:"+deployment.getDeploymentTime());
Model modelData =modelService.getModel(modelId); byte[] bytes = modelService.getBpmnXML(modelData); if(bytes==null){ res.put("error","模型数据为空,请先设计流程并成功保存,再进行发布。"); return res; } BpmnModel model = modelService.getBpmnModel(modelData); if(model.getProcesses().size()==0){ res.put("error","数据模型不符要求,请至少设计一条主线流程。"); return res; } byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model); String processName = modelData.getName()+".bpmn20.xml"; Deployment deployment = repositoryService.createDeployment() .name(modelData.getName()) .addBytes(processName,bpmnBytes) .deploy();
repositoryService.createDeployment().addBpmnModel("bpmnModel", bpmnModel).deploy();
二. 部署相关的表
每部署一次生成一条记录,首先生成这条数据,它的id主键将会被act_re_procdef和act_ge_bytearray作为外键。
一次部署可能采用zip/bar进行部署,里面是有多份流程定义文件xml的,这时候act_re_deployment只有一条部署信息,但act_re_procdef有多个记录(一个流程定义对应一条)
,这个表有DEPLOYMENT_ID_外键字段,用它关联act_re_deployment。
流程模型资源文件的真正存放地方,它每部署一次就会产生2条记录,一条是关于bpmn规范的文件内容存放在BYTES字段中,另一条是图片信息,采用二进制格式存储。
提示:可以部署后解析bpmn文件的内容自动生成流程图,实现流程图的跟踪线路。
参考文章:https://blog.csdn.net/zhongzk69/article/details/90737302
标签:else inpu 保存 它的 flow 流程图 关联 print ted
原文地址:https://www.cnblogs.com/yangjiming/p/10972255.html