mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 20:22:07 +08:00
修复回滚组件无法获得tag的问题
This commit is contained in:
@@ -441,7 +441,7 @@ public class FlowExecutor {
|
||||
while(cmpStepIterator.hasNext()) {
|
||||
CmpStep cmpStep = cmpStepIterator.next();
|
||||
if(cmpStep.getInstance().isRollback()) {
|
||||
Rollbackable rollbackItem = new Node(cmpStep.getInstance());
|
||||
Rollbackable rollbackItem = cmpStep.getRefNode();
|
||||
rollbackItem.rollback(slotIndex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +100,7 @@ public abstract class NodeComponent {
|
||||
CmpStep cmpStep = new CmpStep(nodeId, name, CmpStepTypeEnum.SINGLE);
|
||||
cmpStep.setTag(this.getTag());
|
||||
cmpStep.setInstance(this);
|
||||
cmpStep.setRefNode(this.getRefNode());
|
||||
slot.addStep(cmpStep);
|
||||
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
@@ -158,6 +159,7 @@ public abstract class NodeComponent {
|
||||
|
||||
CmpStep cmpStep = new CmpStep(nodeId, name, CmpStepTypeEnum.SINGLE);
|
||||
cmpStep.setTag(this.getTag());
|
||||
cmpStep.setInstance(this);
|
||||
slot.addRollbackStep(cmpStep);
|
||||
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
|
||||
@@ -12,6 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.enums.CmpStepTypeEnum;
|
||||
import com.yomahub.liteflow.flow.element.Node;
|
||||
|
||||
/**
|
||||
* 组件步骤对象
|
||||
@@ -43,6 +44,10 @@ public class CmpStep {
|
||||
// 回滚消耗的时间
|
||||
private Long rollbackTimeSpent;
|
||||
|
||||
// 当前执行的node
|
||||
private Node refNode;
|
||||
|
||||
|
||||
public CmpStep(String nodeId, String nodeName, CmpStepTypeEnum stepType) {
|
||||
this.nodeId = nodeId;
|
||||
this.nodeName = nodeName;
|
||||
@@ -113,6 +118,14 @@ public class CmpStep {
|
||||
this.rollbackTimeSpent = rollbackTimeSpent;
|
||||
}
|
||||
|
||||
public Node getRefNode() {
|
||||
return refNode;
|
||||
}
|
||||
|
||||
public void setRefNode(Node refNode) {
|
||||
this.refNode = refNode;
|
||||
}
|
||||
|
||||
public String buildString() {
|
||||
if (stepType.equals(CmpStepTypeEnum.SINGLE)) {
|
||||
if (StrUtil.isBlank(nodeName)) {
|
||||
|
||||
Reference in New Issue
Block a user