主流工作流引擎 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

}

你可能感兴趣的:(主流工作流引擎 flowable 三种方式部署流程)