flowable 部署流程的三种方式
/**部署流程定义(根据ui.modeler的 modelId部署) * @param modelId 模型ID * @from fhadmin.cn */ protected String deploymentProcessDefinitionFromUIModelId(String modelId) throws Exception{ Model model = modelService.getModel(modelId); BpmnModel bpmnModel = modelService.getBpmnModel(model); Deployment deployment = repositoryService.createDeployment() .name(model.getName()) .addBpmnModel(model.getKey() + ".bpmn", bpmnModel).deploy(); return deployment.getId(); //部署ID } /**部署流程定义(从Classpath) * @param name //部署名称 * @param xmlpath //xml文件路径 * @param pngpath //png文件路径 * @from fhadmin.cn */ protected String deploymentProcessDefinitionFromClasspath(String name, String xmlpath, String pngpath){ DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); //创建部署对象 deploymentBuilder.name(name); //部署名称 deploymentBuilder.addClasspathResource(xmlpath); //从文件中读取xml资源 deploymentBuilder.addClasspathResource(pngpath); //从文件中读取png资源 Deployment deployment = deploymentBuilder.deploy(); //完成部署 return deployment.getId(); //部署ID } /**部署流程定义(从zip压缩包) * @param name //部署名称 * @param zippath //zip文件路径 * @from fhadmin.cn * @throws FileNotFoundException */ protected String deploymentProcessDefinitionFromZip(String name, String zippath) throws Exception{ File outfile = new File(zippath); FileInputStream inputStream = new FileInputStream(outfile); ZipInputStream ipInputStream = new ZipInputStream(inputStream); DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); //创建部署对象 deploymentBuilder.name(name); //部署名称 deploymentBuilder.addZipInputStream(ipInputStream); Deployment deployment = deploymentBuilder.deploy(); //完成部署 ipInputStream.close(); inputStream.close(); return deployment.getId(); //部署ID }