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 7501e2dab..851f7a13b 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 @@ -2,6 +2,7 @@ package com.yomahub.liteflow.builder; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.entity.data.DataBus; import com.yomahub.liteflow.entity.flow.Node; import com.yomahub.liteflow.enums.NodeTypeEnum; import com.yomahub.liteflow.exception.NodeBuildException; @@ -57,6 +58,11 @@ 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());