首页 > 其他分享 >flowable对已经部署的流程定义进行更新(实操)

flowable对已经部署的流程定义进行更新(实操)

时间:2023-09-03 11:03:00浏览次数:36  
标签:定义 flowable processDefinition 流程 部署 实例 实操 repositoryService

首先通过createProcessDefinitionQuery()方法获取特定流程定义(根据流程定义键和最新版本)。然后,使用deleteDeployment()方法删除旧的部署及其相关数据。

接下来,我们创建新的部署对象,并使用addClasspathResource()方法添加新的流程资源文件。最后,通过deploy()方法执行部署操作。

在重新部署后,你可以使用startProcessInstanceByKey()方法启动新版本的流程实例,并传递相应的参数和变量。这样,你就成功更新了已部署流程的定义并启动了新的流程实例。

RepositoryService repositoryService = processEngine.getRepositoryService();
RuntimeService runtimeService = processEngine.getRuntimeService();

// 获取原始的流程定义
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
        .processDefinitionKey("yourProcessKey")
        .latestVersion()
        .singleResult();

if (processDefinition != null) {
    String deploymentId = processDefinition.getDeploymentId();

    // 删除旧的部署
    repositoryService.deleteDeployment(deploymentId, true);

    // 创建新的部署
    DeploymentBuilder deploymentBuilder = repositoryService.createDeployment()
            .name("New Deployment")
            .key("newDeploymentKey");

    // 添加新的流程资源
    deploymentBuilder.addClasspathResource("path/to/new-process.bpmn");

    // 执行部署
    Deployment deployment = deploymentBuilder.deploy();

    // 启动新版本的流程实例
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(
            processDefinition.getKey(), 
            variables, 
            processDefinition.getId());

    System.out.println("New Deployment ID: " + deployment.getId());
    System.out.println("New Process Instance ID: " + processInstance.getId());
} else {
    System.out.println("Process definition not found.");
}

请注意,在重新部署过程中,旧的流程实例数据和历史数据将会被清除,新的版本的流程定义将会生效。

标签:定义,flowable,processDefinition,流程,部署,实例,实操,repositoryService
From: https://blog.51cto.com/u_15527112/7338273

相关文章

  • Lnton羚通智能分析算法基于智能算法的石油化领域生产作业流程合规检测系统
    石油化工领域的生产作业流程合规检测对于保障工厂安全运行至关重要。本文介绍了一种基于智能算法的生产作业流程合规检测方法,在传感器数据分析和模式识别方面应用了机器学习技术,提高了检测效果和准确性。通过该方法,可以及时发现和纠正不合规操作,最大限度地降低事故风险。石油化工领......
  • Lnton羚通智能分析算法检测人群异常聚集检测告警算法的流程代码
    Lnton羚通视频智能分析算法中人群异常聚集检测报警系统是基于yolov8图像识别和数据分析技术,人群异常聚集检测告警算法通过在关键区域布设监控摄像头,实时监测人员的密集程度和行为动态,分析和判断人群密集程度是否超过预设阈值,一旦发现异常聚集,将自动发出信号,并提示相关人员采取相应......
  • AI绘画美女:StableDiffusion实操教程-完美世界-国漫女神云曦(附高清图下载)
    前段时间分享过StableDiffusion的入门到精通教程:AI绘画:StableDiffusion终极宝典:从入门到精通但是还有人就问:安装是安装好了,可是为什么生成的图片和你生成的图片差距那么远呢?怎么真实感和质感一个天一个地呢?其实很关键的因素,就是别人用了对的对应大模型model和专门的lora包。......
  • java基础-流程控制-day04
    目录1.if单分支2.ifelse多分支3.ifelse双分支4.随机生成一定区间的整数5switch1.if单分支publicclassTestIf01{ publicstaticvoidmain(String[]args){ //对三个数(1-6)求和 intnum1=6; intnum2=6; intnum3=5; intsum=0; sum+=nu......
  • NL50连接流程
    一、NL50-MPI设置1、打开程序IBHNetwork 2、选择IP 3、进入设置页面 4、设置IP 5、进入MPIIP设置页面 6、设置MPIIP 7、保存 ......
  • Openharmony的启动流程
    OpenHarmony启动流程OpenHarmony源码网站:http://ci.openharmony.cn/codeSearchhttps://www.lengqinjie.xyz/lxr/source/一、kernel的启动流程图:由于OpenHarmony(下面简称OH)的标准系统的底层系统是linux,所以前期和Android系统的启动没什么太大区别。都是调用到如下的代码:/kernel/l......
  • APP上架需要的准备和流程
    一上架iOS应用市场前的准备1.选择适合自己的苹果开发者账号(1)个人账号(Individual):费用99美金一年,该账号在AppStore销售者只能显示个人的ID,比如zhitianzhang,单人使用。个人账号只能有一个开发者。100个苹果的iOS设备UDID测试。(2)公司/机构账号(Company/Organization):费......
  • 2022年iOS上架及证书最新申请流程
    最近的15年,手机行业无论怎么变,ios系统依然还是占据着行业的榜首位置,而打包一个苹果的app,门槛则比较高。主要的原因在于苹果app的开发,打包时需要p12格式的证书文件和描述文件profile文件(在hbuilder和apicloud这些h5打包平台,ios证书又叫私钥证书。),而这些文件的创建则又需要苹果mac电......
  • App Store上架iOS App的详细流程
    最近负责将公司某个项目的iOS应用上架到AppStore,在上架的过程中,需要做的事情很多,但很多都不涉及到太多的技术问题,但是流程很多,而且对应用有很多要求,在上架的过程中也遇到一些问题,后也顺利解决问题,成功上架了。我觉得有必要记录一下过程及遇到的问题,希望对有需要上架的iOS开发者们......
  • iOS 最新 APP提交上架流程~(打包 ipa)
    文章目录苹果开发者账号个人开发者账号公司开发者账号:企业开发者账号:1、申请APPID2、申请邓白氏码(个人开发者账号不需要)3、等待邓白氏申请成功4、开发者账号申请5、申请过程中实名认证出错随着苹果2020年对开发者账号申请流程变更,2020年之前的申请开发者账号流程已经成为过去时,现在......