工作流JBPM操作API删除流程&部署流程

简介: 工作流JBPM操作API删除流程&部署流程

8.3 删除流程定义


删除流程定义可以按照id和key删除。


8.3.1 按照id删除(有关联信息会抛异常)

// 删除流程定义  
@Test
public void deleteById(){
   String deploymentId = "1500001";
   ProcessEngine processEngine = Configuration.getProcessEngine(); 
   //  有关联信息,抛异常
   processEngine.getRepositoryService().deleteDeployment(deploymentId);   
}

上述这种删除方法,如果该流程id对应的流程有关联信息,将会抛异常。


8.3.2 按照id删除(会删除关联信息)

// 删除流程定义  
@Test
public void deleteById(){
   String deploymentId = "1500001";
   ProcessEngine processEngine = Configuration.getProcessEngine(); 
   //  有关联信息,会级联删除
  processEngine.getRepositoryService().deleteDeploymentCascade(deploymentId);  
}

上述这种删除方法,如果该流程id对应的流程有关联信息,会级联删除


8.3.3 按照key删除

//  删除流程定义  按照key
@Test
public void deleteByKey(){
   String key = "b";
   List<ProcessDefinition> list = processEngine.getRepositoryService()
     .createProcessDefinitionQuery()
     .processDefinitionKey(key)
     .list();
   //  遍历  删除
   if( list != null && list.size() > 0){
     for(ProcessDefinition processDefinition : list){
       System.out.println(processDefinition.getId());
   ProcessEngine processEngine = Configuration.getProcessEngine();              processEngine.getRepositoryService().
     deleteDeploymentCascade(processDefinition.getDeploymentId());
     }
   }
}

该方式会将该key下的所有实例删除。


8.4 获取部署时的文件资源


8.4.1 获取部署时的文件资源方式1


该方式要指定jbpm4_deployment表 DBID 和 jbpm4_lob 表中deplotmentId对应的name_的值

// 获取部署时的文件资源(查看流程图)

@Test  
public void get() throws Exception{
   ProcessEngine processEngine = Configuration.getProcessEngine(); 
   //  jbpm4_deployment表 DBID
   String deplotmentId = "1510001";   
   //  jbpm4_lob 表中deplotmentId对应的name_的值
   String resourceName = "test.png";  
   //  获取所有资源名称
   Set<String> names = processEngine.getRepositoryService().getResourceNames(deplotmentId);
   for(String name : names){
     System.out.println(name);
   }

   InputStream in = processEngine.getRepositoryService().getResourceAsStream(deplotmentId, resourceName);

   //  输出到本地文件 (路径自己指定,但要注意路径中包含的文件夹都存在)
   OutputStream outputStream = new FileOutputStream("d:/photoAlbum/process-" + deplotmentId +".png");
   for(int b = -1;(b = in.read()) != -1;){
     outputStream.write(b);
   }
   in.close();
   outputStream.close();
}

执行上述代码,会在我们指定的路径下得到如下图片:就是我们部署时候的流程图。


8.4.2 获取部署时的文件资源方式2


该方式要指定 jbpm4_execution 表中的 PROCDEFID 字段。

@Test  //  得到图片资源2
public void get2() throws IOException{
   //  jbpm4_execution 表中的 PROCDEFID
   String processDefinitionId = "test-2";
   ProcessDefinition processDefinition = processEngine.getRepositoryService()
     .createProcessDefinitionQuery()
     .processDefinitionId(processDefinitionId)
     .uniqueResult();

   InputStream in = processEngine.getRepositoryService().getResourceAsStream(processDefinition.getDeploymentId(), processDefinition.getImageResourceName());
   //    输出到本地文件
   OutputStream outputStream = new FileOutputStream("d:/photoAlbum/process/deplotmentImg/" + processDefinitionId + ".png");
   for(int b = -1;(b = in.read()) != -1;){
     outputStream.write(b);
   }
   in.close();
   outputStream.close();
}

执行上述代码,会在我们指定的路径下得到如下图片:就是我们部署时候的流程图。


相关文章
|
27天前
|
DataWorks 安全 API
DataWorks产品使用合集之用API创建的补数据工作流,怎样才能获知工作流的运行状态
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
136 0
|
9天前
|
运维 DataWorks 数据管理
DataWorks操作报错合集之调用RegisterLineageRelation api时报错,是什么原因?
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
16 2
|
27天前
|
分布式计算 DataWorks API
DataWorks操作报错合集之如何解决API调用报400,文件夹找不到的错误
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4天前
|
API 开发工具
支付系统17------支付宝支付-----API预览以及签名验签说明,出现支付宝扫描二维码的操作,支付完成之后,查询订单的状态,支付成功之后,需要退款调用的接口,退款状态的接口,完成退款之后,通知
支付系统17------支付宝支付-----API预览以及签名验签说明,出现支付宝扫描二维码的操作,支付完成之后,查询订单的状态,支付成功之后,需要退款调用的接口,退款状态的接口,完成退款之后,通知
|
24天前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
66 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
26天前
|
JavaScript 关系型数据库 Serverless
Serverless 应用引擎操作报错合集之在调用stable Diffusion函数计算api接口返回,报错:"Not Found"一般是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7天前
|
JSON 安全 API
API开发实战:从设计到部署的全流程指南
在数字化转型中,API成为系统集成的关键。本文引导读者逐步实践API开发: 1. 设计阶段确定需求,选择RESTful风格,例如天气查询API(/api/weather/{city}),返回JSON数据。 2. 使用Python和Flask实现API,处理GET请求,返回城市天气信息。 3. 进行测试,如用curl请求`http://localhost:5000/api/weather/Beijing`。 4. 文档化API,借助Flask-RESTPlus自动生成文档。 5. 部署到Heroku,创建`Procfile`,通过`heroku`命令推送代码。 【6月更文挑战第28天】
29 0
|
1月前
|
安全 Java API
JavaSE——常用API进阶一(3/3)-StringBuilder(构造器、拼接内容、反转操作、其他操作),StringBuffer,StringJoiner
JavaSE——常用API进阶一(3/3)-StringBuilder(构造器、拼接内容、反转操作、其他操作),StringBuffer,StringJoiner
23 1
|
9天前
|
SQL DataWorks 监控
DataWorks操作报错合集之在调用数据服务API时返回的错误码是"ODPS-0410051",并且错误信息提示"Invalid credentials - accessKeyId not found",该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
11 0
|
9天前
|
移动开发 监控 Serverless
函数计算操作报错合集之在调用api时,遇到404问题该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。