flowable 部署流程的三种方式

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
    }
 
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » flowable 部署流程的三种方式