From 37a954942655702d73782f4ef0a715225da88585 Mon Sep 17 00:00:00 2001 From: bryan31 Date: Sat, 26 Feb 2022 23:27:12 +0800 Subject: [PATCH] =?UTF-8?q?DataBus.init()=E5=A4=9A=E6=AC=A1=E8=A2=AB?= =?UTF-8?q?=E8=B0=83=E7=94=A8=EF=BC=8C=E4=B8=8D=E5=A4=9F=E4=BC=98=E9=9B=85?= =?UTF-8?q?=EF=BC=8C=E6=94=B9=E5=88=B0=E6=94=BE=E5=9C=A8=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96LiteFlowExecutor=E9=87=8C=E5=8E=BB=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/builder/LiteFlowChainBuilder.java | 1 + .../com/yomahub/liteflow/builder/LiteFlowNodeBuilder.java | 5 ----- .../main/java/com/yomahub/liteflow/core/FlowExecutor.java | 7 ++++--- .../src/main/java/com/yomahub/liteflow/flow/FlowBus.java | 5 ----- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowChainBuilder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowChainBuilder.java index 20efa0ead..29c891e2d 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowChainBuilder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowChainBuilder.java @@ -1,6 +1,7 @@ package com.yomahub.liteflow.builder; import cn.hutool.core.collection.CollectionUtil; +import com.yomahub.liteflow.entity.data.DataBus; import com.yomahub.liteflow.entity.flow.*; import com.yomahub.liteflow.enums.ConditionTypeEnum; import com.yomahub.liteflow.flow.FlowBus; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowNodeBuilder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowNodeBuilder.java index 2d45bc2e5..1e9d908f2 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowNodeBuilder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowNodeBuilder.java @@ -79,11 +79,6 @@ public class LiteFlowNodeBuilder { } public void build() { - //这里也是一个防御性编程 - //如果单独用builder进行构建的话,那么flow.xml不一定存在,不存在则不会进行FlowExecutor的init,也就不会进行DataBus.init - //所以这里多加一步,DataBus.init()事实上只会执行一遍,不会因为之前执行了,重复执行。因为里面有判断 - DataBus.init(); - try { if (this.node.getType().equals(NodeTypeEnum.COMMON)) { FlowBus.addCommonNode(this.node.getId(), this.node.getName(), this.node.getClazz()); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java index 9d2b3516d..0975333b1 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java @@ -61,6 +61,8 @@ public class FlowExecutor { private LiteflowConfig liteflowConfig; public FlowExecutor(){ + //初始化DataBus + DataBus.init(); } public FlowExecutor(LiteflowConfig liteflowConfig){ @@ -68,6 +70,8 @@ public class FlowExecutor { if (liteflowConfig.isParseOnStart()){ this.init(); } + //初始化DataBus + DataBus.init(); } public static FlowExecutor loadInstance(LiteflowConfig liteflowConfig){ @@ -159,9 +163,6 @@ public class FlowExecutor { throw new FlowExecutorNotInitException(errorMsg); } } - - //初始化DataBus - DataBus.init(); } /** diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java index cdc2c5b97..d5636da1d 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java @@ -177,10 +177,5 @@ public class FlowBus { } else if (type.equals(FlowParserTypeEnum.TYPE_YML)) { new LocalYmlFlowParser().parse(content); } - - //这里是一个防御性策略,在parse-on-start参数为false的时候 - //启动时马上刷新流程规则,这时DataBus还未init,所以这时需要init一下 - //在DataBus里对init有判断,所以init不会执行多遍 - DataBus.init(); } }