activiti 工作流引擎 驳回上一节点、任意节点 自由跳转

本文介绍了Activiti工作流引擎中实现流程驳回的方法。通过重写缓存机制并在线程中修改流程定义,实现任务的驳回到任意节点。文章还提供了一个案例项目的链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

activiti 流程驳回是很常见的需求,但如果总是通过分支划线来实现驳回流程就会看起来很复杂,所以这里介绍流程驳回的实现

 

原理 

  1. 重写activiti缓存,让流程定义缓存线程化(解决并发下对其他流程定义的影响)
  2. 任务提交前,克隆流程定义,放入线程中,直接修改ProcessDefinitionEntity 的ActivityImpl 的指向,把当前节点设置为需要跳转的目标节点。
  3. 提交任务

历史节点的id可以从审批历史中获取,也可以对流程进行驳回配置

 如图,选择一个流程的节点进行配置,然后在流程定义中获取到配置。进行驳回的控制

 

 

 

跳转任意节点也是如此实现,所不同的就是计算目标节点的方式。

 

可以参考案例项目 https://gitee.com/agile-bpm/agile-bpm-basic

 

转载于:https://www.cnblogs.com/agilebpm/p/9494597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值