纯个人大白话--flowable多实例加签与减签

1. 加签与减签的含义

对于flowable官方文档来说,并没有加签与减签的说法,这个东西其实是后来的开发人员说出来的。

谈谈我对于这个加签减签的理解:

加签:一种是多实例节点中添加新处理人、一种是委派(A委派给B处理,B处理完后回到A这,这再complete一次) 减签:多实例删除某些处理人。

2. 相关实现(极简版)

这里就不贴详细的代码了,只贴出来最主要的代码。

2.1 加签(多实例)

javascript 复制代码
String activityId = task.getTaskDefinitionKey();
Map<String, Object> executionVariables = new HashMap<>();
// 需要加签的处理人用户id,如果是多个,外面包个循环即可
executionVariables.put("assignee", "10");
// activityId:节点id;parentExecutionId:父执行id;executionVariables:执行参数
runtimeService.addMultiInstanceExecution(activityId, miExecution.getParentId(), executionVariables);

2.2 加签(委派)

css 复制代码
// A委派任务给B(newAssigneeId)
//ACT_RU_TASK 数据变化,owner -> A ,assignee A-> B ,DELEGATION_ 变更为 PENDING
taskService.delegateTask(taskId, newAssigneeId)


//B解决任务,B不能调用complete方法,因为拥有者不是B,而是A。
//ACT_RU_TASK 数据变化,owner -> A ,assignee A-> A ,DELEGATION_ 变更为 RESOLVED
taskService.resolveTask(taskId);

//A 完成任务,走到下一个节点
taskService.complete(taskId);

2.3 减签

arduino 复制代码
//原方法
deleteMultiInstanceExecution(String executionId, boolean executionIsCompleted)

runtimeService.deleteMultiInstanceExecution(task.getExecutionId(), false);
相关推荐
考虑考虑35 分钟前
docker compose V2版本新属性
运维·后端·自动化运维
GreenTea3 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
Flynt3 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet3 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
GreenTea3 小时前
OpenAI Agents API 上手实测:一次调用把整个 agent loop 甩给 OpenAI
前端·后端·算法
Bs_MoneyMagnet6 小时前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
IT_陈寒7 小时前
Vue的响应式更新把我坑惨了,原来问题出在这
前端·人工智能·后端
陌シ未央ゞ7 小时前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
第五页的你7 小时前
SpringBoot基础设施配置(Redis序列化,JJWT新版)
后端
吃饱了得干活8 小时前
RabbitMQ 原理解析(下):存储、集群与可靠投递
后端·rabbitmq