Flowable是一个轻量级业务流程管理框架,支持BPMN(业务流程模型和符号)标准。在Flowable中实现流程回退到指定节点,可以通过以下几种方式:
1. 使用Boundary Event和Intermediate Throw Event
这种方式适用于在设计流程图时就考虑到了可能的回退情况。
- Boundary Event: 可以添加一个Boundary Event到指定的任务上,用来捕获一个特定的事件(比如,错误事件),然后通过顺序流连接到一个之前的节点。
- Intermediate Throw Event: 可以在任务完成后触发一个Intermediate Throw Event,然后通过事件网关(Event Gateway)来决定流程的走向。
2. 使用流程变量和排他网关(Exclusive Gateway)
在流程执行过程中,可以通过设置流程变量来控制流程走向,并利用排他网关来决定流程的分支。
- 在任务完成前设置一个流程变量,比如
backToPreviousNode。 - 在任务后放置一个排他网关,根据流程变量的值来决定流程是否回退。
3. 使用JavaDelegate或表达式
在任务完成监听器(ExecutionListener)中编写自定义逻辑,实现回退。
- 在任务上添加一个完成监听器。
- 在监听器中使用Java代码或UEL表达式来控制流程回退。
以下是一个简单的JavaDelegate示例:
java
public class RollbackTaskDelegate implements Ja

最低0.47元/天 解锁文章
1515

被折叠的 条评论
为什么被折叠?



