From 59f67bc546d2e544de3c0e02e4994c0cf6c7801d Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Tue, 9 Apr 2024 14:53:57 +0800 Subject: [PATCH] =?UTF-8?q?feature=20#I9DQDU=20=E5=85=81=E8=AE=B8=E5=AF=B9?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E7=BB=84=E4=BB=B6=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=85=A8=E5=B1=80=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../builder/el/LiteFlowChainELBuilder.java | 3 +- .../yomahub/liteflow/core/FlowExecutor.java | 3 +- .../yomahub/liteflow/enums/ParseModeEnum.java | 17 ++++++++++ .../liteflow/property/LiteflowConfig.java | 34 +++++-------------- .../config/LiteflowAutoConfiguration.java | 2 +- .../solon/config/LiteflowProperty.java | 22 ++++++------ .../liteflow/springboot/LiteflowProperty.java | 14 ++++---- .../config/LiteflowMainAutoConfiguration.java | 12 +++++-- .../LiteflowPropertyAutoConfiguration.java | 3 +- ...itional-spring-configuration-metadata.json | 13 ++----- .../META-INF/liteflow-default.properties | 2 +- .../apollo/application-xml.properties | 2 +- .../etcd/application-xml-cluster.properties | 2 +- .../resources/etcd/application-xml.properties | 2 +- .../nacos/application-xml.properties | 2 +- .../test/config/LiteflowConfigTest1.java | 3 +- .../liteflow/test/flowmeta/FlowMetaTest.java | 3 +- .../redis/application-poll-xml.properties | 2 +- .../redis/application-sub-xml.properties | 2 +- .../uncheckNode/application.properties | 2 +- .../test/resources/flowmeta/application.xml | 2 +- 21 files changed, 76 insertions(+), 71 deletions(-) create mode 100644 liteflow-core/src/main/java/com/yomahub/liteflow/enums/ParseModeEnum.java diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java index ab8d6247..ea1b80e5 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java @@ -10,6 +10,7 @@ import com.ql.util.express.InstructionSet; import com.ql.util.express.exception.QLException; import com.yomahub.liteflow.builder.el.operator.*; import com.yomahub.liteflow.common.ChainConstant; +import com.yomahub.liteflow.enums.ParseModeEnum; import com.yomahub.liteflow.exception.*; import com.yomahub.liteflow.flow.FlowBus; import com.yomahub.liteflow.flow.element.Chain; @@ -184,7 +185,7 @@ public class LiteFlowChainELBuilder { this.chain.setEl(elStr); LiteflowConfig liteflowConfig = LiteflowConfigGetter.get(); // 如果设置了不检查Node是否存在,那么这里是不解析的 - if (BooleanUtil.isFalse(liteflowConfig.getCheckNodeExists())){ + if (liteflowConfig.getParseMode().equals(ParseModeEnum.PARSE_ONE_ON_FIRST_EXEC)){ this.chain.setCompiled(false); return this; } 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 02c6a085..56a5f5ac 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 @@ -15,6 +15,7 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.*; import com.yomahub.liteflow.enums.ChainExecuteModeEnum; import com.yomahub.liteflow.enums.InnerChainTypeEnum; +import com.yomahub.liteflow.enums.ParseModeEnum; import com.yomahub.liteflow.exception.*; import com.yomahub.liteflow.flow.FlowBus; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -72,7 +73,7 @@ public class FlowExecutor { LiteflowConfigGetter.setLiteflowConfig(liteflowConfig); // 设置FlowExecutor的Holder,虽然大部分地方都可以通过Spring上下文获取到,但放入Holder,还是为了某些地方能方便的取到 FlowExecutorHolder.setHolder(this); - if (BooleanUtil.isTrue(liteflowConfig.isParseOnStart())) { + if (!liteflowConfig.getParseMode().equals(ParseModeEnum.PARSE_ALL_ON_FIRST_EXEC)) { this.init(true); } // 初始化DataBus diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ParseModeEnum.java b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ParseModeEnum.java new file mode 100644 index 00000000..e0e5fd0e --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ParseModeEnum.java @@ -0,0 +1,17 @@ +package com.yomahub.liteflow.enums; + +/** + * 解析模式 + * PARSE_ALL_ON_START 启动时解析所有的规则 + * PARSE_ALL_ON_FIRST_EXEC 第一次执行链路时解析所有的规则 + * PARSE_ONE_ON_FIRST_EXEC 第一次执行相关链路时解析当前的规则 + * + * @author Bryan.Zhang + * @since 2.12.0 + */ +public enum ParseModeEnum { + + PARSE_ALL_ON_START, + PARSE_ALL_ON_FIRST_EXEC, + PARSE_ONE_ON_FIRST_EXEC +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java b/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java index ea8b9918..edfec2b6 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java @@ -10,6 +10,7 @@ package com.yomahub.liteflow.property; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.enums.ParseModeEnum; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -71,9 +72,8 @@ public class LiteflowConfig { // 异步线程池最大队列数量 private Integer whenQueueLimit; - // 是否在启动时解析规则文件 - // 这个参数主要给编码式注册元数据的场景用的,结合FlowBus.addNode一起用 - private Boolean parseOnStart; + // 解析模式,一共有三种,具体看其定义 + private ParseModeEnum parseMode; // 这个属性为true,则支持多种不同的类型的配置 // 但是要注意,不能将主流程和子流程分配在不同类型配置文件中 @@ -118,9 +118,6 @@ public class LiteflowConfig { //是否快速加载规则,如果快速加载规则意味着不用copyOnWrite机制了 private Boolean fastLoad; - //检查node是否存在 - private Boolean checkNodeExists; - public Boolean getEnableMonitorFile() { return enableMonitorFile; } @@ -254,19 +251,6 @@ public class LiteflowConfig { this.whenQueueLimit = whenQueueLimit; } - public Boolean isParseOnStart() { - if (ObjectUtil.isNull(parseOnStart)) { - return Boolean.TRUE; - } - else { - return parseOnStart; - } - } - - public void setParseOnStart(Boolean parseOnStart) { - this.parseOnStart = parseOnStart; - } - public Boolean isSupportMultipleType() { if (ObjectUtil.isNull(supportMultipleType)) { return Boolean.FALSE; @@ -494,15 +478,15 @@ public class LiteflowConfig { this.fastLoad = fastLoad; } - public Boolean getCheckNodeExists() { - if (ObjectUtil.isNull(checkNodeExists)){ - return Boolean.TRUE; + public ParseModeEnum getParseMode() { + if (ObjectUtil.isNull(parseMode)) { + return ParseModeEnum.PARSE_ALL_ON_START; }else{ - return checkNodeExists; + return parseMode; } } - public void setCheckNodeExists(Boolean checkNodeExists) { - this.checkNodeExists = checkNodeExists; + public void setParseMode(ParseModeEnum parseMode) { + this.parseMode = parseMode; } } diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowAutoConfiguration.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowAutoConfiguration.java index f8ccebff..03e36133 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowAutoConfiguration.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowAutoConfiguration.java @@ -36,7 +36,7 @@ public class LiteflowAutoConfiguration { liteflowConfig.setPeriod(liteflowMonitorProperty.getPeriod()); liteflowConfig.setWhenMaxWorkers(property.getWhenMaxWorkers()); liteflowConfig.setWhenQueueLimit(property.getWhenQueueLimit()); - liteflowConfig.setParseOnStart(property.isParseOnStart()); + liteflowConfig.setParseMode(property.getParseMode()); liteflowConfig.setEnable(property.isEnable()); liteflowConfig.setSupportMultipleType(property.isSupportMultipleType()); liteflowConfig.setRetryCount(property.getRetryCount()); diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowProperty.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowProperty.java index 6790bcd5..b6c54f81 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowProperty.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowProperty.java @@ -1,5 +1,6 @@ package com.yomahub.liteflow.solon.config; +import com.yomahub.liteflow.enums.ParseModeEnum; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; @@ -44,9 +45,8 @@ public class LiteflowProperty { // 异步线程池最大队列数量 private int whenQueueLimit; - // 是否在启动时解析规则文件 - // 这个参数主要给编码式注册元数据的场景用的,结合FlowBus.addNode一起用 - private boolean parseOnStart; + // 解析模式,一共有三种,具体看其定义 + private ParseModeEnum parseMode; // 这个属性为true,则支持多种不同的类型的配置 // 但是要注意,不能将主流程和子流程分配在不同类型配置文件中 @@ -132,14 +132,6 @@ public class LiteflowProperty { this.whenQueueLimit = whenQueueLimit; } - public boolean isParseOnStart() { - return parseOnStart; - } - - public void setParseOnStart(boolean parseOnStart) { - this.parseOnStart = parseOnStart; - } - public boolean isSupportMultipleType() { return supportMultipleType; } @@ -251,4 +243,12 @@ public class LiteflowProperty { public void setFallbackCmpEnable(Boolean fallbackCmpEnable) { this.fallbackCmpEnable = fallbackCmpEnable; } + + public ParseModeEnum getParseMode() { + return parseMode; + } + + public void setParseMode(ParseModeEnum parseMode) { + this.parseMode = parseMode; + } } diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java index 08557156..bfb7544a 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java @@ -1,5 +1,6 @@ package com.yomahub.liteflow.springboot; +import com.yomahub.liteflow.enums.ParseModeEnum; import org.springframework.boot.context.properties.ConfigurationProperties; import java.util.Map; @@ -54,9 +55,8 @@ public class LiteflowProperty { // 异步线程池是否隔离 private boolean whenThreadPoolIsolate; - // 是否在启动时解析规则文件 - // 这个参数主要给编码式注册元数据的场景用的,结合FlowBus.addNode一起用 - private boolean parseOnStart; + // 解析模式,一共有三种,具体看其定义 + private ParseModeEnum parseMode; // 这个属性为true,则支持多种不同的类型的配置 // 但是要注意,不能将主流程和子流程分配在不同类型配置文件中 @@ -155,12 +155,12 @@ public class LiteflowProperty { this.whenQueueLimit = whenQueueLimit; } - public boolean isParseOnStart() { - return parseOnStart; + public ParseModeEnum getParseMode() { + return parseMode; } - public void setParseOnStart(boolean parseOnStart) { - this.parseOnStart = parseOnStart; + public void setParseMode(ParseModeEnum parseMode) { + this.parseMode = parseMode; } public boolean isSupportMultipleType() { diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowMainAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowMainAutoConfiguration.java index 87a83e33..629e0b93 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowMainAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowMainAutoConfiguration.java @@ -51,9 +51,17 @@ public class LiteflowMainAutoConfiguration { } // FlowExecutor的初始化工作,和实例化分开来 + // 这里写2个几乎一样的是因为无论是在PARSE_ALL_ON_START或者PARSE_ONE_ON_FIRST_EXEC模式下,都需要初始化工作 + // 换句话说,这两个只可能被执行一个 @Bean - @ConditionalOnProperty(prefix = "liteflow", name = "parse-on-start", havingValue = "true") - public LiteflowExecutorInit liteflowExecutorInit(FlowExecutor flowExecutor) { + @ConditionalOnProperty(prefix = "liteflow", name = "parse-mode", havingValue = "PARSE_ALL_ON_START") + public LiteflowExecutorInit liteflowExecutorInit1(FlowExecutor flowExecutor) { + return new LiteflowExecutorInit(flowExecutor); + } + + @Bean + @ConditionalOnProperty(prefix = "liteflow", name = "parse-mode", havingValue = "PARSE_ONE_ON_FIRST_EXEC") + public LiteflowExecutorInit liteflowExecutorInit2(FlowExecutor flowExecutor) { return new LiteflowExecutorInit(flowExecutor); } diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java index 61629477..67137f1d 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java @@ -33,7 +33,7 @@ public class LiteflowPropertyAutoConfiguration { liteflowConfig.setWhenMaxWorkers(property.getWhenMaxWorkers()); liteflowConfig.setWhenQueueLimit(property.getWhenQueueLimit()); liteflowConfig.setWhenThreadPoolIsolate(property.isWhenThreadPoolIsolate()); - liteflowConfig.setParseOnStart(property.isParseOnStart()); + liteflowConfig.setParseMode(property.getParseMode()); liteflowConfig.setEnable(property.isEnable()); liteflowConfig.setSupportMultipleType(property.isSupportMultipleType()); liteflowConfig.setRetryCount(property.getRetryCount()); @@ -49,7 +49,6 @@ public class LiteflowPropertyAutoConfiguration { liteflowConfig.setParallelLoopExecutorClass(property.getParallelLoopExecutorClass()); liteflowConfig.setFallbackCmpEnable(property.isFallbackCmpEnable()); liteflowConfig.setFastLoad(property.isFastLoad()); - liteflowConfig.setCheckNodeExists(property.isCheckNodeExists()); liteflowConfig.setEnableLog(liteflowMonitorProperty.isEnableLog()); liteflowConfig.setQueueLimit(liteflowMonitorProperty.getQueueLimit()); liteflowConfig.setDelay(liteflowMonitorProperty.getDelay()); diff --git a/liteflow-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/liteflow-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 05a3bf08..a9941914 100644 --- a/liteflow-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/liteflow-spring-boot-starter/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -111,9 +111,9 @@ "defaultValue": false }, { - "name": "liteflow.parse-on-start", - "type": "java.lang.Boolean", - "description": "Set whether the rule file needs to be parsed at startup.", + "name": "liteflow.parse-mode", + "type": "com.yomahub.liteflow.enums.ParseModeEnum", + "description": "Set parse mode at startup.", "sourceType": "com.yomahub.liteflow.springboot.LiteflowProperty", "defaultValue": true }, @@ -159,13 +159,6 @@ "sourceType": "com.yomahub.liteflow.springboot.LiteflowProperty", "defaultValue": false }, - { - "name": "liteflow.check-node-exists", - "type": "java.lang.Boolean", - "description": "Whether to check the existence of a node or not.", - "sourceType": "com.yomahub.liteflow.springboot.LiteflowProperty", - "defaultValue": true - }, { "name": "liteflow.monitor.enable-log", "type": "java.lang.Boolean", diff --git a/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties b/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties index f860fc98..37aeb464 100644 --- a/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties +++ b/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties @@ -10,7 +10,7 @@ liteflow.when-max-wait-time-unit=MILLISECONDS liteflow.when-max-workers=16 liteflow.when-queue-limit=512 liteflow.when-thread-pool-isolate=false -liteflow.parse-on-start=true +liteflow.parse-mode=PARSE_ALL_ON_START liteflow.retry-count=0 liteflow.support-multiple-type=false liteflow.node-executor-class=com.yomahub.liteflow.flow.executor.DefaultNodeExecutor diff --git a/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/resources/apollo/application-xml.properties b/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/resources/apollo/application-xml.properties index 366b1dc3..b337a062 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/resources/apollo/application-xml.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/resources/apollo/application-xml.properties @@ -1,2 +1,2 @@ liteflow.rule-source-ext-data={"chainNamespace":"chainConfig","scriptNamespace":"scriptConfig"} -liteflow.parse-on-start=false \ No newline at end of file +liteflow.parse-mode=PARSE_ALL_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml-cluster.properties b/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml-cluster.properties index a71c2a7f..bc68059c 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml-cluster.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml-cluster.properties @@ -3,4 +3,4 @@ liteflow.rule-source-ext-data={\ "chainPath": "/liteflow/chain",\ "scriptPath": "/liteflow/script"\ } -liteflow.parse-on-start=false \ No newline at end of file +liteflow.parse-mode=PARSE_ALL_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml.properties b/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml.properties index 60f528aa..24f07e9f 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/resources/etcd/application-xml.properties @@ -3,4 +3,4 @@ liteflow.rule-source-ext-data={\ "chainPath": "/liteflow/chain",\ "scriptPath": "/liteflow/script"\ } -liteflow.parse-on-start=false \ No newline at end of file +liteflow.parse-mode=PARSE_ALL_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/resources/nacos/application-xml.properties b/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/resources/nacos/application-xml.properties index fc030f84..039d12bd 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/resources/nacos/application-xml.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/resources/nacos/application-xml.properties @@ -1,2 +1,2 @@ liteflow.rule-source-ext-data={"serverAddr":"192.168.10.147:8848","dataId":"LiteFlow","group":"LITE_FLOW_GROUP","namespace":"","username":"","password":""} -liteflow.parse-on-start=false \ No newline at end of file +liteflow.parse-mode=PARSE_ALL_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/config/LiteflowConfigTest1.java b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/config/LiteflowConfigTest1.java index e8364f4e..cd8d0080 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/config/LiteflowConfigTest1.java +++ b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/config/LiteflowConfigTest1.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test.config; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.core.FlowExecutorHolder; +import com.yomahub.liteflow.enums.ParseModeEnum; import com.yomahub.liteflow.flow.LiteflowResponse; import com.yomahub.liteflow.property.LiteflowConfig; import com.yomahub.liteflow.property.LiteflowConfigGetter; @@ -43,7 +44,7 @@ public class LiteflowConfigTest1 extends BaseTest { Assertions.assertFalse(config.getEnableLog()); Assertions.assertEquals(16, config.getWhenMaxWorkers().longValue()); Assertions.assertEquals(512, config.getWhenQueueLimit().longValue()); - Assertions.assertEquals(true, config.isParseOnStart()); + Assertions.assertEquals(ParseModeEnum.PARSE_ALL_ON_START, config.getParseMode()); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaTest.java b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaTest.java index 2f485178..c38c2f9c 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/flowmeta/FlowMetaTest.java @@ -3,6 +3,7 @@ package com.yomahub.liteflow.test.flowmeta; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.core.FlowExecutorHolder; import com.yomahub.liteflow.enums.NodeTypeEnum; +import com.yomahub.liteflow.enums.ParseModeEnum; import com.yomahub.liteflow.flow.FlowBus; import com.yomahub.liteflow.flow.LiteflowResponse; import com.yomahub.liteflow.property.LiteflowConfig; @@ -20,7 +21,7 @@ public class FlowMetaTest extends BaseTest { public static void init() { LiteflowConfig config = new LiteflowConfig(); config.setRuleSource("flowmeta/flow.el.xml"); - config.setParseOnStart(false); + config.setParseMode(ParseModeEnum.PARSE_ALL_ON_FIRST_EXEC); flowExecutor = FlowExecutorHolder.loadInstance(config); } diff --git a/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-poll-xml.properties b/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-poll-xml.properties index 3356c126..cf65d4fd 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-poll-xml.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-poll-xml.properties @@ -8,4 +8,4 @@ liteflow.rule-source-ext-data={\ "scriptDataBase":1,\ "scriptKey":"pollScriptKey"\ } -liteflow.parse-on-start=false \ No newline at end of file +liteflow.parse-mode=PARSE_ALL_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-sub-xml.properties b/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-sub-xml.properties index 6d841fea..79c8fbab 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-sub-xml.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/resources/redis/application-sub-xml.properties @@ -7,4 +7,4 @@ liteflow.rule-source-ext-data={\ "scriptDataBase":1,\ "scriptKey":"testScriptKey"\ } -liteflow.parse-on-start=false \ No newline at end of file +liteflow.parse-mode=PARSE_ALL_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/uncheckNode/application.properties b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/uncheckNode/application.properties index b4ccad57..80cc130a 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/uncheckNode/application.properties +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/uncheckNode/application.properties @@ -1,2 +1,2 @@ liteflow.rule-source=uncheckNode/flow.el.xml -liteflow.check-node-exists=false \ No newline at end of file +liteflow.parse-mode=PARSE_ONE_ON_FIRST_EXEC \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/flowmeta/application.xml b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/flowmeta/application.xml index a476b302..fec6cdc7 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/flowmeta/application.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/flowmeta/application.xml @@ -15,7 +15,7 @@ - +