首页 > 应用开发 > Java > 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
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31558068/viewspace-2897940/ ,如需转载,请注明出处,否则将追究法律责任。