From bb40e915a4153fdd582ec78a668feb0fee6f9cd9 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Tue, 19 Dec 2023 15:17:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E6=BB=9APR[https://gitee.com/dromara/?= =?UTF-8?q?liteFlow/pulls/253]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/enums/CmpStepTypeEnum.java | 3 +- .../flow/element/condition/WhenCondition.java | 17 +++------- .../java/com/yomahub/liteflow/slot/Slot.java | 32 ------------------- 3 files changed, 6 insertions(+), 46 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/CmpStepTypeEnum.java b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/CmpStepTypeEnum.java index c8c6137ff..f01a4f189 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/CmpStepTypeEnum.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/CmpStepTypeEnum.java @@ -1,7 +1,6 @@ /** *

Title: liteflow

*

Description: 轻量级的组件式流程框架

- * * @author Bryan.Zhang * @email weenyc31@163.com * @Date 2020/4/1 @@ -15,6 +14,6 @@ package com.yomahub.liteflow.enums; */ public enum CmpStepTypeEnum { - START, END, SINGLE, WHEN_START, WHEN_END; + START, END, SINGLE; } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhenCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhenCondition.java index e38dbac83..15eb31cbd 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhenCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhenCondition.java @@ -8,17 +8,13 @@ package com.yomahub.liteflow.flow.element.condition; import com.yomahub.liteflow.common.LocalDefaultFlowConstant; -import com.yomahub.liteflow.enums.CmpStepTypeEnum; import com.yomahub.liteflow.enums.ConditionTypeEnum; import com.yomahub.liteflow.enums.ParallelStrategyEnum; import com.yomahub.liteflow.flow.element.Condition; -import com.yomahub.liteflow.flow.entity.CmpStep; import com.yomahub.liteflow.flow.parallel.strategy.ParallelStrategyExecutor; import com.yomahub.liteflow.flow.parallel.strategy.ParallelStrategyHelper; import com.yomahub.liteflow.log.LFLog; import com.yomahub.liteflow.log.LFLoggerManager; -import com.yomahub.liteflow.slot.DataBus; -import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.thread.ExecutorHelper; import java.util.Set; @@ -68,16 +64,13 @@ public class WhenCondition extends Condition { // 使用线程池执行 when 并发流程 // 这块涉及到挺多的多线程逻辑,所以注释比较详细,看到这里的童鞋可以仔细阅读 private void executeAsyncCondition(Integer slotIndex) throws Exception { - Slot slot = DataBus.getSlot(slotIndex); - slot.addStep(new CmpStep("-1", "-1", CmpStepTypeEnum.WHEN_START)); + // 获取并发执行策略 ParallelStrategyExecutor parallelStrategyExecutor = ParallelStrategyHelper.loadInstance().buildParallelExecutor(this.getParallelStrategy()); - try { - // 执行并发逻辑 - parallelStrategyExecutor.execute(this, slotIndex); - } finally { - slot.addStep(new CmpStep("-1", "-1", CmpStepTypeEnum.WHEN_END)); - } + + // 执行并发逻辑 + parallelStrategyExecutor.execute(this, slotIndex); + } public boolean isIgnoreError() { diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/slot/Slot.java b/liteflow-core/src/main/java/com/yomahub/liteflow/slot/Slot.java index 6b8787204..8bd133c14 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/slot/Slot.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/slot/Slot.java @@ -1,7 +1,6 @@ /** *

Title: liteflow

*

Description: 轻量级的组件式流程框架

- * * @author Bryan.Zhang * @email weenyc31@163.com * @Date 2020/4/1 @@ -12,7 +11,6 @@ import cn.hutool.core.collection.ConcurrentHashSet; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.yomahub.liteflow.enums.CmpStepTypeEnum; import com.yomahub.liteflow.exception.NoSuchContextBeanException; import com.yomahub.liteflow.exception.NullParamException; import com.yomahub.liteflow.flow.element.Condition; @@ -342,21 +340,6 @@ public class Slot { CmpStep cmpStep; for (Iterator it = executeSteps.iterator(); it.hasNext();) { cmpStep = it.next(); - if (CmpStepTypeEnum.WHEN_START.equals(cmpStep.getStepType())) { - str.append("【"); - continue; - } - if (CmpStepTypeEnum.WHEN_END.equals(cmpStep.getStepType())) { - // 如果最后一个是==>则移除最后一个==> - if (str.toString().endsWith("==>")) { - str.delete(str.length() - 3, str.length()); - } - str.append("】"); - if (it.hasNext()) { - str.append("==>"); - } - continue; - } if (withTimeSpent) { str.append(cmpStep.buildStringWithTime()); } @@ -393,21 +376,6 @@ public class Slot { CmpStep cmpStep; for (Iterator it = rollbackSteps.iterator(); it.hasNext();) { cmpStep = it.next(); - if (CmpStepTypeEnum.WHEN_START.equals(cmpStep.getStepType())) { - str.append("【"); - continue; - } - if (CmpStepTypeEnum.WHEN_END.equals(cmpStep.getStepType())) { - // 如果最后一个是==>则移除最后一个==> - if (str.toString().endsWith("==>")) { - str.delete(str.length() - 3, str.length()); - } - str.append("】"); - if (it.hasNext()) { - str.append("==>"); - } - continue; - } if (withRollbackTimeSpent) { str.append(cmpStep.buildRollbackStringWithTime()); }