This commit is contained in:
everywhere.z
2023-12-19 15:17:05 +08:00
parent 7eb5693464
commit bb40e915a4
3 changed files with 6 additions and 46 deletions

View File

@@ -1,7 +1,6 @@
/**
* <p>Title: liteflow</p>
* <p>Description: 轻量级的组件式流程框架</p>
*
* @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;
}

View File

@@ -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() {

View File

@@ -1,7 +1,6 @@
/**
* <p>Title: liteflow</p>
* <p>Description: 轻量级的组件式流程框架</p>
*
* @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<CmpStep> 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<CmpStep> 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());
}