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
  }

 

目录
相关文章
|
5月前
|
人工智能 移动开发 搜索推荐
增强现实让广告“活”起来——AR 赋能营销的新玩法
增强现实让广告“活”起来——AR 赋能营销的新玩法
264 25
|
存储 弹性计算 关系型数据库
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
在我们选择阿里云服务器系统盘和数据盘时,如果是选择ESSD云盘,还需要选择云盘的云盘性能级别PL,PL性能级别有PL3、PL2、PL1、PL0四个性能级别的云盘规格,如果是通过阿里云的活动来购买云服务器的话,由于系统盘默认一般为20G或40G容量,可选的PL性能级别通常只有PL0(单盘IOPS性能上限1万)和PL1(单盘IOPS性能上限5万)可选择,有的用户肯能并不清楚ESSD云盘的性能等级之间有何区别,单盘IOPS性能指的是什么,本文为大家介绍一下ESSD云盘的云盘性能级别PL3、PL2、PL1、PL0相关知识点。
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
【springboot+easypoi】一行代码搞定简单的word导出
之前写过一篇《一行代码搞定Excel导入导出》,有需要的童鞋可以回头看一下,今天简单说一下怎么一行代码实现简单的word导出。有的童鞋不太同意了,扯淡呢一行代码。
4298 0
|
API
servlet研究学习总结--OutputStream和PrintWriter的区别
servlet研究学习总结--OutputStream和PrintWriter的区别
513 1
|
Java API 数据安全/隐私保护
获取HTTP请求参数的方法详解
获取HTTP请求参数的方法详解
|
前端开发 Serverless Shell
函数计算操作报错合集之遇到错误信息为HandlerNotFound,该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
354 0
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之在sql 里嵌套查询时,查询条件带有instr时报错,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
机器学习/深度学习 自然语言处理 监控
AIGC带来内容安全新挑战
【1月更文挑战第9天】AIGC带来内容安全新挑战
343 1
AIGC带来内容安全新挑战
|
机器学习/深度学习 自然语言处理 算法
深度学习算法简介(一)
深度学习算法简介(一)
477 0
|
弹性计算 安全 Java
镜像区别:公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像对比
镜像区别:公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像对比
10203 1