flowable实战(五)flowable驳回/退回上一步/退回到

一、驳回/退回上一步/退回到(历史某一个节点)

    我们经常需要工作流中退回上一步,或者退回历史某一个节点。但由于流程的场景是很复杂的,回退有以下一些场景:

1.串行路线上的退回:流程中没有任何网关(排他网关/并行网关)和会签多实例。

2.退回到并行网关分支中的某一个节点上:

3.并行网关中的某一个分支节点上发起退回,退回到并行网关前面的某一个节点上

4.子流程中退回到主干流程中某一个节点/主干流程退回到子流程中某一个节点。

如下图:
在这里插入图片描述
二、flowable实现:

1.普通串行路线上的退回(此流程中没有并行网关的退回时),此方法支持普通串行节点/会签多实例节点/排他网关节点:

runtimeService.createChangeActivityStateBuilder().processInstanceId(proInstanceId).moveActivityIdsToSingleActivityId(curTaskKeys, targetTaskKey).changeState();

或者

moveActivityIdTo(String currentActivityId,String newActivityId);

2.并行网关中发起退回(即撤销当前的网关),这个地方不能用
moveActivityIdTo(String currentActivityId,String newActivityId);是因为当某一个分支完成,它的is_active为0,另一条分支没有完成时。这时候这个方法是取不到所的分支的key的,它只有is_active为1的key能取到,不然就会造成多一条垃圾数据,同时再走并行时,任何一个分支不会等另一个分支就完走到分支的合并节点上,这就是bug,所以要改为以下方法:

// 并行网关的退回
List<String > currentExecutionIds = new ArrayList<>();
List<Execution> executions = runtimeService.createExecutionQuery().parentId(proInstanceId).list();
for (Execution execution : executions) {System.out.println("并行网关节点数:"+execution.getActivityId());currentExecutionIds.add(execution.getId());
}
runtimeService.createChangeActivityStateBuilder().moveExecutionsToSingleActivityId(currentExecutionIds, targetTaskKey).changeState();

3.退回到并行网关中的某一个节点:经试验退回时必须同时退回并行网关中的所有分支。

List<String > targetTaskKeys = new ArrayList<>();
targetTaskKeys.add("sid-CA74ADED-7E70-451D-951C-95988BFC3F07");
targetTaskKeys.add("sid-7922C598-74FD-4848-95AC-D9790AF68432");runtimeService.createChangeActivityStateBuilder().processInstanceId(proInstanceId).moveSingleActivityIdToActivityIds("sid-CAD50E6F-7E0C-437D-816B-DDBA1A976A79", targetTaskKeys).changeState();

4.主干流程和子流程的退回(没有试验过),官方提供了以下方法:

moveActivityIdToParentActivityId(String currentActivityId, String newActivityId)moveActivityIdToSubProcessInstanceActivityId(String currentActivityId, String newActivityId, String callActivityId)
​
moveActivityIdToSubProcessInstanceActivityId(String currentActivityId,  String newActivityId, String callActivityId,Integer subProcessDefinitionVersion)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全链路压测一招搞定,阿里云性能测试铂金版发布

摘要&#xff1a; 阿里云性能测试&#xff08;Performance Testing Service&#xff09;是卓越的SaaS性能测试平台&#xff0c;具备强大的分布式压测能力&#xff0c;可模拟海量用户的真实业务场景&#xff0c;让所有性能问题无所遁形。近日&#xff0c;PTS宣布推出了基于阿里双…

老司机教你分析日志:分析用户的地理位置信息

摘要&#xff1a; 地理位置的需求 通常我们分析用户的需求&#xff0c;了解到用户当前位置在哪里非常重要&#xff0c;例如&#xff0c;可以根据用户的地理位置&#xff0c;针对性的推广本地广告。 通常&#xff0c;我们可以在客户端获取定位权限来获取GPS信息。但是如果用户关…

java中的switch的规则_细细讲述Java技术开发的那些不为人知的规则

本文介绍的Java规则的说明分为3个主要级别&#xff0c;中级是平时开发用的比较多的级别&#xff0c;在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码又更好的可读性等。一、在finally方法里关掉input或者output资源方法体里面定义了input或者output流的…

华为,百度豪投,这类程序员要再次上榜了!

前不久百度AI开发者大会&#xff0c;李彦宏高调宣布百度AI技术&#xff1b;同时&#xff0c;AI测试权威软件AI Benchmark的测试数据显示&#xff0c;中国华为研发的7nm旗舰手机芯片麒麟810的AI分数&#xff0c;远远超过美国高通骁龙855了&#xff01;早前华为就宣布&#xff1a…

flowable实战(六)flowable的意见表和附件表应用

一、act_hi_comment和act_hi_attachment两表表&#xff0c;前者意见表后者是附件表 意见表它里面有一个类型type字段&#xff0c;分别是comment代表意见(这个type可以自定义,例如自定义为&#xff1a;通过/退回/提前终止&#xff09;&#xff0c;缺省提供了comment&#xff0c…

Serverless在游戏、电商行业的一个运用场景示例

摘要&#xff1a; Serverless 是一种架构理念&#xff0c;具有自己的独特的优势和适用场景。本文以使用阿里云函数计算为例&#xff0c;构建一个简单具体的microservice为例&#xff0c;看看这种架构是如何达到快速开发和节约运维成本的。 点此查看原文&#xff1a;http://clic…

SDN精华问答 | SDN的核心技术是什么?

SDN火热了好一阵子&#xff0c;无论运营商、政府企业、投资机构&#xff0c;一段时间&#xff0c;不知道SDN、不能甩几个SDN相关的名词术语&#xff0c;似乎都落后于时代了。今天&#xff0c;就来看看关于SDN的精华问答吧。1Q&#xff1a;SDN的目的是什么&#xff1f; A&#x…

RocksDB 写入流程详解

摘要&#xff1a; 最初的写入流程&#xff0c;继承自 leveldb&#xff0c;多个 写线程组成一个 group&#xff0c; leader 负责 group 的 WAL 及 memtable 的提交&#xff0c;提交完后唤醒所有的 follwer&#xff0c;向上层返回。 支持 allow_concurrent_memtable_write 选项&a…

Greenplum roaring bitmap与业务场景 (类阿里云RDS PG varbitx, 应用于海量用户 实时画像和圈选、透视)

摘要&#xff1a; 标签 PostgreSQL , Greenplum , varbitx , roaring bitmap , pilosa , varbit , hll , 多阶段聚合 背景 roaring bitmap是一个压缩比很高同时性能不错的BIT库&#xff0c;被广泛使用&#xff08;例如Greenplum, ES, InfluxDB. 点此查看原文 标签 PostgreSQL ,…

容器快速入门完全指南

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | JUSTIN来源 | RancherLabs介 绍容器&#xff0c;以及Docker和Kubernetes之类的容器技术已经日益成为许多开发人员工具包中常见的工具。容器化的核心目标是提供一种更好的方式&#xff0c;以可预测和便于管理的方式在不同的环…

Java错误提示框口怎么使用_如何在Swing中显示错误消息对话框?

以下示例展示了如何在基于swing的应用程序中显示错误消息警告。使用以下API -JOptionPane - 创建标准对话框。JOptionPane.showMessageDialog() - 显示消息警告。JOptionPane.ERROR_MESSAGE - 将警报消息标记为错误。示例package com.yiibai.swingdemo;import java.awt.BorderL…

PostgreSQL Oracle 兼容性之 - rownum

摘要&#xff1a; 标签 PostgreSQL , rownum , Oracle 兼容性 , row_number 窗口 , limit , PPAS , EDB 背景 Oracle ROWNUM是一个虚拟列&#xff0c;每输出一行递增1。 点此查看原文&#xff1a;https://yq.aliyun.com/articles/405183?spma2c4e.11153959.teamhomeleft.24.8W…

PostgreSQL 查询涉及分区表过多导致的性能问题 - 性能诊断与优化(大量BIND, spin lock, SLEEP进程)

摘要&#xff1a; 标签 PostgreSQL , 分区表 , bind , spin lock , 性能分析 , sleep 进程 , CPU空转 , cache 背景 实际上我写过很多文档&#xff0c;关于分区表的优化&#xff1a; 《PostgreSQL 商用版本EPAS(阿里云ppas) - 分区表性能优化 (堪比pg_pathman)》 《PostgreSQL …

flowable实战(九)flowable数据库表中流程实例、活动实例、任务实例三者之间关系分析

场景模拟&#xff08;请假流程&#xff09;&#xff1a; 员工申请请假 部门领导审批 人事审批 员工销假 本文用次例介绍在工作流中出现的几个对象及其之间的关系&#xff0c;以及在Activiti中各个对象是如何关联的。 在线演示实例&#xff1a;http://aws.kafeitu.me:8080/kft…

看懂云计算、虚拟化和容器,这一篇就够啦!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 小枣君来源 | 鲜枣课堂“云计算”这个词&#xff0c;相信大家都非常熟悉。作为信息科技发展的主流趋势&#xff0c;它频繁地出现在我们的眼前。伴随它一起出现的&#xff0c;还有这些概念名词——OpenStack、Hypervisor、KVM…

一张图读懂阿里巴巴一站式研发协同云——云效

摘要&#xff1a; 程序员、测试员、项目经理&#xff0c;你们有freestyle吗&#xff1f;阿里云云效&#xff0c;一站式企业协同研发云&#xff0c;“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具支撑&#xff0c;助力企业快速创新迭代和研发…

flowable实战(十)flowable 启动流程到完成所有任务之间的数据库变化

来写一下Activiti 5.18版本从启动流程到整个流程结束之间数据库表的变化 先给出流程图&#xff0c;很简单的流程&#xff0c;就是两个UserTask&#xff1a; 代码如下&#xff1a; DeploymentBuilder builderrepositoryService.createDeployment(); Deployment deploymentbui…

阿里敏捷教练如何优化优酷需求分析流程?

摘要&#xff1a; 如何帮助优酷迅速融合到阿里研发体系&#xff1f;如何优化优酷的需求分析流程&#xff1f;针对需求信息不明确&#xff0c;开发出来的功能不是产品想要的痛点如何解决&#xff1f; 点此查看原文&#xff1a;http://click.aliyun.com/m/41381/ 导读&#xff1a…

java float 高效加减_java Double 进行加减乘除

Double 工具类package org.fh.util;import java.io.Serializable;import java.math.BigDecimal;import java.math.RoundingMode;/*** double的计算不精确&#xff0c;会有类似0.0000000000000002的误差&#xff0c;正确的方法是使用BigDecimal或者用整型* 整型地方法适合于货币…

Gartner预计2019年全球半导体收入将下滑9.6%;苹果中国用户正流向华为;Facebook将支付50亿美元与FTC和解...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…