美文网首页
flowable 三种方式部署流程

flowable 三种方式部署流程

作者: IT祖师爷 | 来源:发表于2022-05-30 15:32 被阅读0次

/**部署流程定义(根据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 三种方式部署流程

      本文链接:https://www.haomeiwen.com/subject/hhvoprtx.html