From 743c4c5a5876f7e154cafaa792fd98b58ff1d33a Mon Sep 17 00:00:00 2001 From: noear Date: Sat, 12 Oct 2024 09:35:18 +0800 Subject: [PATCH 01/12] =?UTF-8?q?liteflow-testcase-el-declare-multi-solon?= =?UTF-8?q?=20=E5=85=A8=E9=83=A8=E8=B7=91=E9=80=9A=EF=BC=88solon=20?= =?UTF-8?q?=E5=8D=87=E4=B8=BA=203.0.1=EF=BC=9B=E6=8F=90=E4=BE=9B=E4=BA=86?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E6=89=AB=E6=8F=8F=E6=8E=A7=E5=88=B6=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=BC=80=E4=BA=86=E7=BB=84=E4=BB=B6=E5=A4=9A=E6=89=AB?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/builder/BuilderELDeclMultiSpringbootTest1.java | 4 +++- .../test/builder/BuilderELDeclMultiSpringbootTest2.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest1.java b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest1.java index 10aa7d380..0150cd2d1 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest1.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest1.java @@ -9,13 +9,15 @@ import com.yomahub.liteflow.test.BaseTest; import com.yomahub.liteflow.test.builder.cmp1.*; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.noear.solon.annotation.Import; import org.noear.solon.annotation.Inject; import org.noear.solon.test.SolonTest; //基于builder模式的单元测试 //这里只是最基本的builder模式的测试,只是为了验证在springboot模式下的正常性 //更详细的builder模式测试用例会单独拉testcase去做 -@SolonTest +@SolonTest(scanning = false) +@Import(scanPackages={ "com.yomahub.liteflow.test.builder.domain" }) public class BuilderELDeclMultiSpringbootTest1 extends BaseTest { @Inject diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest2.java b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest2.java index 3442ad682..05cf955ae 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest2.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclMultiSpringbootTest2.java @@ -6,12 +6,14 @@ import com.yomahub.liteflow.flow.LiteflowResponse; import com.yomahub.liteflow.test.BaseTest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.noear.solon.annotation.Import; import org.noear.solon.annotation.Inject; import org.noear.solon.test.SolonTest; //基于builder模式的单元测试 //这里测试的是通过spring去扫描,但是通过代码去构建chain的用例 -@SolonTest +@SolonTest(scanning = false) +@Import(scanPackages = { "com.yomahub.liteflow.test.builder.cmp2" }) public class BuilderELDeclMultiSpringbootTest2 extends BaseTest { @Inject From 9c7d0759e0d223b883c86f549e2c28f4fee751b9 Mon Sep 17 00:00:00 2001 From: noear Date: Sat, 12 Oct 2024 09:37:50 +0800 Subject: [PATCH 02/12] =?UTF-8?q?litefolw-solon-plugin=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=80=82=E9=85=8D=EF=BC=8C=E8=8A=82=E7=82=B9=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=94=B9=E4=B8=BA=E6=94=B6=E9=9B=86=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E5=86=8D=E7=94=B1=20ContextCmpInit=20=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E8=B0=83=E7=94=A8=20addManagedNode=20=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E7=99=BB=E8=AE=B0=E3=80=82=E3=80=82=E8=BF=99=E6=A0=B7=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E7=A1=AE=E4=BF=9D=20LifeCycleHolder=20=E5=85=88?= =?UTF-8?q?=E6=94=B6=E9=9B=86=E5=AE=8C=EF=BC=8C=E5=86=8D=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E8=8A=82=E7=82=B9=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/holder/SolonNodeHolder.java | 35 ++++++++++++++ .../solon/integration/XPluginImpl.java | 46 +++++++++++-------- .../spi/solon/SolonContextCmpInit.java | 7 ++- .../builder/BuilderELSpringbootTest2.java | 1 - pom.xml | 32 +------------ 5 files changed, 71 insertions(+), 50 deletions(-) create mode 100644 liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java new file mode 100644 index 000000000..fc0105cd0 --- /dev/null +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java @@ -0,0 +1,35 @@ +package com.yomahub.liteflow.process.holder; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.core.AppContext; + +import java.util.HashMap; +import java.util.Map; + +/** + * 节点持有人(用于收集 Node 后统一注册) + * + * @author noear 2024/10/12 created + */ +public class SolonNodeHolder { + /** + * 作为 AppContext 附件(避免静态化) + * */ + public static SolonNodeHolder of(AppContext context) { + return context.attachOf(SolonNodeHolder.class, SolonNodeHolder::new); + } + + private SolonNodeHolder() { + + } + + private Map nodeMap = new HashMap<>(); + + public void put(String nodeId, NodeComponent nodeComponent) { + this.nodeMap.put(nodeId, nodeComponent); + } + + public Map getNodeMap() { + return nodeMap; + } +} diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java index db3c8156d..056d064cd 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java @@ -5,9 +5,9 @@ import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.proxy.DeclWarpBean; import com.yomahub.liteflow.core.proxy.LiteFlowProxyUtil; -import com.yomahub.liteflow.flow.FlowBus; import com.yomahub.liteflow.lifecycle.LifeCycle; import com.yomahub.liteflow.lifecycle.LifeCycleHolder; +import com.yomahub.liteflow.process.holder.SolonNodeHolder; import com.yomahub.liteflow.solon.config.LiteflowAutoConfiguration; import com.yomahub.liteflow.solon.config.LiteflowMainAutoConfiguration; import com.yomahub.liteflow.solon.config.LiteflowMonitorProperty; @@ -42,6 +42,8 @@ public class XPluginImpl implements Plugin { return; } + SolonNodeHolder solonNodeHolder = SolonNodeHolder.of(context); + // 放到前面 context.beanMake(LiteflowProperty.class); context.beanMake(LiteflowMonitorProperty.class); @@ -49,22 +51,26 @@ public class XPluginImpl implements Plugin { context.beanMake(LiteflowMainAutoConfiguration.class); // 订阅生命周期实现类 - context.subWrapsOfType(LifeCycle.class, bw -> { - LifeCycle lifeCycle = bw.raw(); - LifeCycleHolder.addLifeCycle(lifeCycle); + context.subBeansOfType(LifeCycle.class, bean -> { + LifeCycleHolder.addLifeCycle(bean); }); - // 订阅 NodeComponent 组件 - context.subWrapsOfType(NodeComponent.class, bw -> { - NodeComponent node1 = bw.raw(); - node1.setNodeId(bw.name()); - FlowBus.addManagedNode(bw.name(), bw.raw()); + // 订阅 @Component 或别的方式产生的 NodeComponent + context.subWrapsOfType(NodeComponent.class, bw->{ + if (Utils.isNotEmpty(bw.name())) { + NodeComponent node1 = bw.raw(); + node1.setNodeId(bw.name()); + + solonNodeHolder.put(node1.getNodeId(), node1); + } }); Set> liteflowMethodClassSet = new HashSet<>(); + //添加 @LiteflowMethod 注解处理 context.beanExtractorAdd(LiteflowMethod.class, (bw, method, anno) -> { if (liteflowMethodClassSet.contains(bw.clz())) { + //避免重复处理类 return; } else { liteflowMethodClassSet.add(bw.clz()); @@ -76,22 +82,26 @@ public class XPluginImpl implements Plugin { for (DeclWarpBean declWarpBean : declWarpBeanList) { NodeComponent node1 = LiteFlowProxyUtil.proxy2NodeComponent(declWarpBean); - FlowBus.addManagedNode(node1.getNodeId(), node1); + + solonNodeHolder.put(node1.getNodeId(), node1); } }); + //添加 @LiteflowComponent 注解处理 context.beanBuilderAdd(LiteflowComponent.class, (clz, bw, anno) -> { - if (NodeComponent.class.isAssignableFrom(clz)) { - NodeComponent node1 = bw.raw(); + if(NodeComponent.class.isAssignableFrom(clz)) { String nodeId = Utils.annoAlias(anno.id(), anno.value()); + if (Utils.isNotEmpty(nodeId)) { + NodeComponent node1 = bw.raw(); + node1.setNodeId(nodeId); + node1.setName(anno.name()); - node1.setNodeId(nodeId); - node1.setName(anno.name()); - - FlowBus.addManagedNode(nodeId, node1); - } else { - context.beanExtractOrProxy(bw); // 尝试提取 LiteflowMethod 函数,并支持自动代理 + solonNodeHolder.put(nodeId, node1); + } } + + // 支持动态代理与函数提取 + context.beanExtractOrProxy(bw); }); } } \ No newline at end of file diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java index b90697404..ee3d6a314 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java @@ -1,6 +1,9 @@ package com.yomahub.liteflow.spi.solon; +import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.process.holder.SolonNodeHolder; import com.yomahub.liteflow.spi.ContextCmpInit; +import org.noear.solon.Solon; /** * Solon 环境容器上下文组件初始化实现(在 solon 里没有用上;机制不同) @@ -12,7 +15,9 @@ public class SolonContextCmpInit implements ContextCmpInit { @Override public void initCmp() { - // 已在 XPluginImpl 添加组件 + SolonNodeHolder solonNodeHolder = SolonNodeHolder.of(Solon.context()); + + solonNodeHolder.getNodeMap().forEach(FlowBus::addManagedNode); } @Override diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELSpringbootTest2.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELSpringbootTest2.java index 9362a869b..e670dc5f7 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELSpringbootTest2.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/builder/BuilderELSpringbootTest2.java @@ -6,7 +6,6 @@ import com.yomahub.liteflow.flow.LiteflowResponse; import com.yomahub.liteflow.test.BaseTest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.noear.solon.annotation.Inject; import org.noear.solon.test.SolonTest; diff --git a/pom.xml b/pom.xml index ee8c90939..49123d4c7 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ 1.14.10 1.8.13 1.2.3 - 2.9.2 + 3.0.1 4.1.84.Final 4.5.13 1.9.4 @@ -374,35 +374,7 @@ maven-site-plugin 3.7.1 - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.0.1 - - - package - - jar - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - + org.codehaus.mojo From b805c5abc0351307f64b5e99080f75fcff3b9016 Mon Sep 17 00:00:00 2001 From: noear Date: Sat, 12 Oct 2024 10:08:47 +0800 Subject: [PATCH 03/12] =?UTF-8?q?litefolw-solon-plugin=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=80=82=E9=85=8D=EF=BC=8C=E8=8A=82=E7=82=B9=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E4=BF=9D=E6=8C=81=E4=B8=8E=20Spring=20=E7=9B=B8?= =?UTF-8?q?=E4=BC=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/holder/SolonNodeHolder.java | 35 ------------------- .../process/holder/SolonNodeIdHolder.java | 34 ++++++++++++++++++ .../solon/integration/XPluginImpl.java | 16 ++++++--- .../spi/solon/SolonContextCmpInit.java | 6 ++-- 4 files changed, 47 insertions(+), 44 deletions(-) delete mode 100644 liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java create mode 100644 liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeIdHolder.java diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java deleted file mode 100644 index fc0105cd0..000000000 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeHolder.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yomahub.liteflow.process.holder; - -import com.yomahub.liteflow.core.NodeComponent; -import org.noear.solon.core.AppContext; - -import java.util.HashMap; -import java.util.Map; - -/** - * 节点持有人(用于收集 Node 后统一注册) - * - * @author noear 2024/10/12 created - */ -public class SolonNodeHolder { - /** - * 作为 AppContext 附件(避免静态化) - * */ - public static SolonNodeHolder of(AppContext context) { - return context.attachOf(SolonNodeHolder.class, SolonNodeHolder::new); - } - - private SolonNodeHolder() { - - } - - private Map nodeMap = new HashMap<>(); - - public void put(String nodeId, NodeComponent nodeComponent) { - this.nodeMap.put(nodeId, nodeComponent); - } - - public Map getNodeMap() { - return nodeMap; - } -} diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeIdHolder.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeIdHolder.java new file mode 100644 index 000000000..35f250df4 --- /dev/null +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/process/holder/SolonNodeIdHolder.java @@ -0,0 +1,34 @@ +package com.yomahub.liteflow.process.holder; + +import org.noear.solon.core.AppContext; + +import java.util.HashSet; +import java.util.Set; + +/** + * 节点持有人(用于收集 Node 后统一注册) + * + * @author noear 2024/10/12 created + */ +public class SolonNodeIdHolder { + /** + * 作为 AppContext 附件(避免静态化) + * */ + public static SolonNodeIdHolder of(AppContext context) { + return context.attachOf(SolonNodeIdHolder.class, SolonNodeIdHolder::new); + } + + private SolonNodeIdHolder() { + + } + + private Set nodeIdSet = new HashSet<>(); + + public void add(String nodeId) { + this.nodeIdSet.add(nodeId); + } + + public Set getNodeIdSet() { + return nodeIdSet; + } +} diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java index 056d064cd..f4d50843d 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java @@ -7,7 +7,7 @@ import com.yomahub.liteflow.core.proxy.DeclWarpBean; import com.yomahub.liteflow.core.proxy.LiteFlowProxyUtil; import com.yomahub.liteflow.lifecycle.LifeCycle; import com.yomahub.liteflow.lifecycle.LifeCycleHolder; -import com.yomahub.liteflow.process.holder.SolonNodeHolder; +import com.yomahub.liteflow.process.holder.SolonNodeIdHolder; import com.yomahub.liteflow.solon.config.LiteflowAutoConfiguration; import com.yomahub.liteflow.solon.config.LiteflowMainAutoConfiguration; import com.yomahub.liteflow.solon.config.LiteflowMonitorProperty; @@ -15,6 +15,7 @@ import com.yomahub.liteflow.solon.config.LiteflowProperty; import com.yomahub.liteflow.spi.holder.DeclComponentParserHolder; import org.noear.solon.Utils; import org.noear.solon.core.AppContext; +import org.noear.solon.core.BeanWrap; import org.noear.solon.core.Plugin; import java.util.*; @@ -42,7 +43,7 @@ public class XPluginImpl implements Plugin { return; } - SolonNodeHolder solonNodeHolder = SolonNodeHolder.of(context); + SolonNodeIdHolder nodeIdHolder = SolonNodeIdHolder.of(context); // 放到前面 context.beanMake(LiteflowProperty.class); @@ -61,7 +62,7 @@ public class XPluginImpl implements Plugin { NodeComponent node1 = bw.raw(); node1.setNodeId(bw.name()); - solonNodeHolder.put(node1.getNodeId(), node1); + nodeIdHolder.add(node1.getNodeId()); } }); @@ -83,7 +84,10 @@ public class XPluginImpl implements Plugin { for (DeclWarpBean declWarpBean : declWarpBeanList) { NodeComponent node1 = LiteFlowProxyUtil.proxy2NodeComponent(declWarpBean); - solonNodeHolder.put(node1.getNodeId(), node1); + BeanWrap node1Bw = context.wrap(node1.getNodeId(), node1); + context.putWrap(node1.getNodeId(), node1Bw); + + nodeIdHolder.add(node1.getNodeId()); } }); @@ -96,7 +100,9 @@ public class XPluginImpl implements Plugin { node1.setNodeId(nodeId); node1.setName(anno.name()); - solonNodeHolder.put(nodeId, node1); + context.putWrap(node1.getNodeId(), bw); + + nodeIdHolder.add(node1.getNodeId()); } } diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java index ee3d6a314..360c40c63 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java @@ -1,7 +1,7 @@ package com.yomahub.liteflow.spi.solon; import com.yomahub.liteflow.flow.FlowBus; -import com.yomahub.liteflow.process.holder.SolonNodeHolder; +import com.yomahub.liteflow.process.holder.SolonNodeIdHolder; import com.yomahub.liteflow.spi.ContextCmpInit; import org.noear.solon.Solon; @@ -15,9 +15,7 @@ public class SolonContextCmpInit implements ContextCmpInit { @Override public void initCmp() { - SolonNodeHolder solonNodeHolder = SolonNodeHolder.of(Solon.context()); - - solonNodeHolder.getNodeMap().forEach(FlowBus::addManagedNode); + SolonNodeIdHolder.of(Solon.context()).getNodeIdSet().forEach(FlowBus::addManagedNode); } @Override From 8074c0e23beea13e003b70573040f854fd3dbf65 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 12 Oct 2024 11:47:48 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/solon/integration/XPluginImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java index f4d50843d..c1f8ad8ac 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java @@ -52,9 +52,7 @@ public class XPluginImpl implements Plugin { context.beanMake(LiteflowMainAutoConfiguration.class); // 订阅生命周期实现类 - context.subBeansOfType(LifeCycle.class, bean -> { - LifeCycleHolder.addLifeCycle(bean); - }); + context.subBeansOfType(LifeCycle.class, LifeCycleHolder::addLifeCycle); // 订阅 @Component 或别的方式产生的 NodeComponent context.subWrapsOfType(NodeComponent.class, bw->{ From 2391d448206a354588918c313635f2b8e8f6aa7b Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 12 Oct 2024 14:33:23 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/test/fallback/FallbackELSolonTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/fallback/FallbackELSolonTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/fallback/FallbackELSolonTest.java index 03a3d9cad..64b318edf 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/fallback/FallbackELSolonTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/fallback/FallbackELSolonTest.java @@ -169,7 +169,7 @@ public class FallbackELSolonTest extends BaseTest { LiteflowResponse response = flowExecutor.execute2Resp("concurrent2", "arg"); Assertions.assertTrue(response.isSuccess()); String stepStr = response.getExecuteStepStrWithoutTime(); - Assertions.assertTrue("fb_comm_cmp==>fb_bool_cmp".equals(stepStr) || "ifn2==>c".equals(stepStr)); + Assertions.assertTrue("fb_comm_cmp==>fb_bool_cmp".equals(stepStr) || "fb_bool_cmp==>fb_comm_cmp".equals(stepStr) || "ifn2==>c".equals(stepStr)); } @Test From 60fe9d495ee75799fe84d06a00437eae07b81bb7 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 12 Oct 2024 22:19:58 +0800 Subject: [PATCH 06/12] =?UTF-8?q?feature=20#IAJD9H=20=E6=9C=9F=E6=9C=9Blit?= =?UTF-8?q?eflow=20=E6=9C=89=E8=87=AA=E5=B7=B1=E7=9A=84=E7=94=9F=E5=91=BD?= =?UTF-8?q?=E5=91=A8=E6=9C=9F=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yomahub/liteflow/core/FlowExecutor.java | 17 +++++++ .../com/yomahub/liteflow/flow/FlowBus.java | 37 +++++++++++---- .../yomahub/liteflow/flow/element/Chain.java | 17 +++++++ .../liteflow/lifecycle/LifeCycleHolder.java | 46 +++++++++++++------ ...va => PostProcessChainBuildLifeCycle.java} | 6 ++- .../PostProcessChainExecuteLifeCycle.java | 17 +++++++ .../PostProcessFlowExecuteLifeCycle.java | 17 +++++++ ...ava => PostProcessNodeBuildLifeCycle.java} | 6 ++- ...PostProcessScriptEngineInitLifeCycle.java} | 4 +- .../liteflow/script/ScriptExecutor.java | 9 ++-- .../script/jsr223/JSR223ScriptExecutor.java | 3 -- .../lifecycle/impl/TestChainLifeCycle.java | 11 +++-- .../lifecycle/impl/TestNodeLifeCycle.java | 4 +- .../impl/TestChainExecuteLifeCycle.java | 19 ++++++++ .../lifecycle/impl/TestChainLifeCycle.java | 11 +++-- .../impl/TestFlowExecuteLifeCycle.java | 19 ++++++++ .../lifecycle/impl/TestNodeLifeCycle.java | 11 +++-- 17 files changed, 208 insertions(+), 46 deletions(-) rename liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/{PostProcessAfterChainBuildLifeCycle.java => PostProcessChainBuildLifeCycle.java} (56%) create mode 100644 liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainExecuteLifeCycle.java create mode 100644 liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessFlowExecuteLifeCycle.java rename liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/{PostProcessAfterNodeBuildLifeCycle.java => PostProcessNodeBuildLifeCycle.java} (56%) rename liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/{PostProcessAfterScriptEngineInitLifeCycle.java => PostProcessScriptEngineInitLifeCycle.java} (55%) create mode 100644 liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainExecuteLifeCycle.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestFlowExecuteLifeCycle.java 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 1ba56db47..50118790e 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 @@ -25,6 +25,8 @@ import com.yomahub.liteflow.flow.element.Node; import com.yomahub.liteflow.flow.element.Rollbackable; import com.yomahub.liteflow.flow.entity.CmpStep; import com.yomahub.liteflow.flow.id.IdGeneratorHolder; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; +import com.yomahub.liteflow.lifecycle.PostProcessFlowExecuteLifeCycle; import com.yomahub.liteflow.log.LFLog; import com.yomahub.liteflow.log.LFLoggerManager; import com.yomahub.liteflow.monitor.MonitorFile; @@ -43,6 +45,7 @@ import com.yomahub.liteflow.thread.ExecutorHelper; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Future; +import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; @@ -407,6 +410,13 @@ public class FlowExecutor { throw new NoAvailableSlotException(StrUtil.format("the slot[{}] is not exist", slotIndex)); } + // 如果有FlowExecute生命周期实现,则执行 + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessFlowExecuteLifeCycleList())){ + LifeCycleHolder.getPostProcessFlowExecuteLifeCycleList().forEach( + postProcessFlowExecuteLifeCycle -> postProcessFlowExecuteLifeCycle.postProcessBeforeFlowExecute(chainId, slot) + ); + } + //如果传入了用户的RequestId,则用这个请求Id,如果没传入,则进行生成 if (StrUtil.isNotBlank(requestId)){ slot.putRequestId(requestId); @@ -515,6 +525,13 @@ public class FlowExecutor { DataBus.releaseSlot(slotIndex); LFLoggerManager.removeRequestId(); } + + // 如果有FlowExecute生命周期实现,则执行 + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessFlowExecuteLifeCycleList())){ + LifeCycleHolder.getPostProcessFlowExecuteLifeCycleList().forEach( + postProcessFlowExecuteLifeCycle -> postProcessFlowExecuteLifeCycle.postProcessAfterFlowExecute(chainId, slot) + ); + } } return slot; } 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 6cc9b609d..1294248a0 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 @@ -8,6 +8,7 @@ */ package com.yomahub.liteflow.flow; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.annotation.FallbackCmp; @@ -91,11 +92,21 @@ public class FlowBus { // 这个方法主要用于第二阶段的替换chain public static void addChain(Chain chain) { - chainMap.put(chain.getChainId(), chain); //如果有生命周期则执行相应生命周期实现 - LifeCycleHolder.getPostProcessAfterChainBuildLifeCycleList().forEach( - postProcessAfterChainBuildLifeCycle -> postProcessAfterChainBuildLifeCycle.postProcessAfterChainBuild(chain) - ); + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessChainBuildLifeCycleList())){ + LifeCycleHolder.getPostProcessChainBuildLifeCycleList().forEach( + postProcessAfterChainBuildLifeCycle -> postProcessAfterChainBuildLifeCycle.postProcessBeforeChainBuild(chain) + ); + } + + chainMap.put(chain.getChainId(), chain); + + //如果有生命周期则执行相应生命周期实现 + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessChainBuildLifeCycleList())){ + LifeCycleHolder.getPostProcessChainBuildLifeCycleList().forEach( + postProcessAfterChainBuildLifeCycle -> postProcessAfterChainBuildLifeCycle.postProcessAfterChainBuild(chain) + ); + } } public static boolean containChain(String chainId) { @@ -374,11 +385,21 @@ public class FlowBus { } private static void put2NodeMap(String nodeId, Node node){ - nodeMap.put(nodeId, node); // 如果有生命周期则执行相应生命周期实现 - LifeCycleHolder.getPostProcessAfterNodeBuildLifeCycleList().forEach( - postProcessAfterNodeBuildLifeCycle -> postProcessAfterNodeBuildLifeCycle.postProcessAfterNodeBuild(node) - ); + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessNodeBuildLifeCycleList())){ + LifeCycleHolder.getPostProcessNodeBuildLifeCycleList().forEach( + postProcessAfterNodeBuildLifeCycle -> postProcessAfterNodeBuildLifeCycle.postProcessBeforeNodeBuild(node) + ); + } + + nodeMap.put(nodeId, node); + + // 如果有生命周期则执行相应生命周期实现 + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessNodeBuildLifeCycleList())){ + LifeCycleHolder.getPostProcessNodeBuildLifeCycleList().forEach( + postProcessAfterNodeBuildLifeCycle -> postProcessAfterNodeBuildLifeCycle.postProcessAfterNodeBuild(node) + ); + } } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java index fef1c6515..c5a4d935a 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java @@ -12,6 +12,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.BooleanUtil; import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder; import com.yomahub.liteflow.exception.ChainEndException; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; +import com.yomahub.liteflow.lifecycle.PostProcessChainExecuteLifeCycle; import com.yomahub.liteflow.log.LFLog; import com.yomahub.liteflow.log.LFLoggerManager; import com.yomahub.liteflow.slot.DataBus; @@ -20,6 +22,7 @@ import com.yomahub.liteflow.enums.ExecuteableTypeEnum; import com.yomahub.liteflow.exception.FlowSystemException; import java.util.ArrayList; import java.util.List; +import java.util.function.Consumer; /** * chain对象,实现可执行器 @@ -98,6 +101,13 @@ public class Chain implements Executable{ } Slot slot = DataBus.getSlot(slotIndex); try { + //如果有生命周期则执行相应生命周期实现 + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessChainExecuteLifeCycleList())){ + LifeCycleHolder.getPostProcessChainExecuteLifeCycleList().forEach( + postProcessChainExecuteLifeCycle -> postProcessChainExecuteLifeCycle.postProcessBeforeChainExecute(chainId, slot) + ); + } + // 设置主ChainName slot.setChainId(chainId); // 执行主体Condition @@ -105,6 +115,13 @@ public class Chain implements Executable{ condition.setCurrChainId(chainId); condition.execute(slotIndex); } + + //如果有生命周期则执行相应生命周期实现 + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessChainExecuteLifeCycleList())){ + LifeCycleHolder.getPostProcessChainExecuteLifeCycleList().forEach( + postProcessChainExecuteLifeCycle -> postProcessChainExecuteLifeCycle.postProcessAfterChainExecute(chainId, slot) + ); + } } catch (ChainEndException e) { // 这里单独catch ChainEndException是因为ChainEndException是用户自己setIsEnd抛出的异常 diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java index 0202147d2..f248bc5ea 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java @@ -12,32 +12,48 @@ import java.util.List; */ public class LifeCycleHolder { - private static final List postProcessAfterScriptEngineInitLifeCycleList = new ArrayList<>(); + private static final List POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST = new ArrayList<>(); - private static final List postProcessAfterChainBuildLifeCycleList = new ArrayList<>(); + private static final List POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST = new ArrayList<>(); - private static final List postProcessAfterNodeBuildLifeCycleList = new ArrayList<>(); + private static final List POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST = new ArrayList<>(); + + private static final List POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST = new ArrayList<>(); + + private static final List POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST = new ArrayList<>(); public static void addLifeCycle(LifeCycle lifeCycle){ - if (PostProcessAfterScriptEngineInitLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ - postProcessAfterScriptEngineInitLifeCycleList.add((PostProcessAfterScriptEngineInitLifeCycle)lifeCycle); - }else if(PostProcessAfterChainBuildLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ - postProcessAfterChainBuildLifeCycleList.add((PostProcessAfterChainBuildLifeCycle)lifeCycle); - }else if(PostProcessAfterNodeBuildLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ - postProcessAfterNodeBuildLifeCycleList.add((PostProcessAfterNodeBuildLifeCycle)lifeCycle); + if (PostProcessScriptEngineInitLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ + POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST.add((PostProcessScriptEngineInitLifeCycle)lifeCycle); + }else if(PostProcessChainBuildLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ + POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST.add((PostProcessChainBuildLifeCycle)lifeCycle); + }else if(PostProcessNodeBuildLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ + POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST.add((PostProcessNodeBuildLifeCycle)lifeCycle); + }else if(PostProcessFlowExecuteLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ + POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST.add((PostProcessFlowExecuteLifeCycle)lifeCycle); + }else if(PostProcessChainExecuteLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){ + POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST.add((PostProcessChainExecuteLifeCycle)lifeCycle); } } - public static List getPostProcessAfterScriptEngineInitLifeCycleList() { - return postProcessAfterScriptEngineInitLifeCycleList; + public static List getPostProcessScriptEngineInitLifeCycleList() { + return POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST; } - public static List getPostProcessAfterChainBuildLifeCycleList() { - return postProcessAfterChainBuildLifeCycleList; + public static List getPostProcessChainBuildLifeCycleList() { + return POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST; } - public static List getPostProcessAfterNodeBuildLifeCycleList() { - return postProcessAfterNodeBuildLifeCycleList; + public static List getPostProcessNodeBuildLifeCycleList() { + return POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST; + } + + public static List getPostProcessFlowExecuteLifeCycleList() { + return POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST; + } + + public static List getPostProcessChainExecuteLifeCycleList() { + return POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST; } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterChainBuildLifeCycle.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainBuildLifeCycle.java similarity index 56% rename from liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterChainBuildLifeCycle.java rename to liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainBuildLifeCycle.java index 305c6716a..9535f344e 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterChainBuildLifeCycle.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainBuildLifeCycle.java @@ -4,12 +4,14 @@ import com.yomahub.liteflow.flow.element.Chain; /** * 生命周期接口 - * 在Chain构造后执行,如果有实现的话 + * 在Chain构造时期,如果有实现的话 * * @author Bryan.Zhang * @since 2.12.4 */ -public interface PostProcessAfterChainBuildLifeCycle extends LifeCycle { +public interface PostProcessChainBuildLifeCycle extends LifeCycle { + + void postProcessBeforeChainBuild(Chain chain); void postProcessAfterChainBuild(Chain chain); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainExecuteLifeCycle.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainExecuteLifeCycle.java new file mode 100644 index 000000000..2434376db --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessChainExecuteLifeCycle.java @@ -0,0 +1,17 @@ +package com.yomahub.liteflow.lifecycle; + +import com.yomahub.liteflow.slot.Slot; + +/** + * 生命周期接口 + * 执行Chain的时候 + * + * @author Bryan.Zhang + * @since 2.12.4 + */ +public interface PostProcessChainExecuteLifeCycle extends LifeCycle{ + + void postProcessBeforeChainExecute(String chainId, Slot slot); + + void postProcessAfterChainExecute(String chainId, Slot slot); +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessFlowExecuteLifeCycle.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessFlowExecuteLifeCycle.java new file mode 100644 index 000000000..b75705996 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessFlowExecuteLifeCycle.java @@ -0,0 +1,17 @@ +package com.yomahub.liteflow.lifecycle; + +import com.yomahub.liteflow.slot.Slot; + +/** + * 生命周期接口 + * 执行FLowExecutor的时候 + * + * @author Bryan.Zhang + * @since 2.12.4 + */ +public interface PostProcessFlowExecuteLifeCycle extends LifeCycle{ + + void postProcessBeforeFlowExecute(String chainId, Slot slot); + + void postProcessAfterFlowExecute(String chainId, Slot slot); +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterNodeBuildLifeCycle.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessNodeBuildLifeCycle.java similarity index 56% rename from liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterNodeBuildLifeCycle.java rename to liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessNodeBuildLifeCycle.java index 763bbb660..7b44fcf43 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterNodeBuildLifeCycle.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessNodeBuildLifeCycle.java @@ -4,12 +4,14 @@ import com.yomahub.liteflow.flow.element.Node; /** * 生命周期接口 - * 在Node构造后执行,如果有实现的话 + * 在Node构造时期,如果有实现的话 * * @author Bryan.Zhang * @since 2.12.4 */ -public interface PostProcessAfterNodeBuildLifeCycle extends LifeCycle { +public interface PostProcessNodeBuildLifeCycle extends LifeCycle { + + void postProcessBeforeNodeBuild(Node node); void postProcessAfterNodeBuild(Node node); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterScriptEngineInitLifeCycle.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessScriptEngineInitLifeCycle.java similarity index 55% rename from liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterScriptEngineInitLifeCycle.java rename to liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessScriptEngineInitLifeCycle.java index 2122bbe07..2056842fc 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessAfterScriptEngineInitLifeCycle.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/PostProcessScriptEngineInitLifeCycle.java @@ -2,12 +2,12 @@ package com.yomahub.liteflow.lifecycle; /** * 生命周期接口 - * 在初始化Script执行器后执行,如果有实现的话 + * 在初始化Script执行器时期,如果有实现的话 * * @author Bryan.Zhang * @since 2.12.4 */ -public interface PostProcessAfterScriptEngineInitLifeCycle extends LifeCycle{ +public interface PostProcessScriptEngineInitLifeCycle extends LifeCycle{ void postProcessAfterScriptEngineInit(Object engine); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecutor.java b/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecutor.java index 89eb9ef9f..a7715d0e2 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecutor.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecutor.java @@ -1,6 +1,7 @@ package com.yomahub.liteflow.script; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.yomahub.liteflow.enums.ScriptTypeEnum; import com.yomahub.liteflow.exception.LiteFlowException; @@ -26,9 +27,11 @@ public abstract class ScriptExecutor { } public void lifeCycle(Object engine){ - LifeCycleHolder.getPostProcessAfterScriptEngineInitLifeCycleList().forEach( - postProcessAfterScriptEngineInitLifeCycle -> postProcessAfterScriptEngineInitLifeCycle.postProcessAfterScriptEngineInit(engine) - ); + if (CollUtil.isNotEmpty(LifeCycleHolder.getPostProcessScriptEngineInitLifeCycleList())){ + LifeCycleHolder.getPostProcessScriptEngineInitLifeCycleList().forEach( + postProcessAfterScriptEngineInitLifeCycle -> postProcessAfterScriptEngineInitLifeCycle.postProcessAfterScriptEngineInit(engine) + ); + } } public abstract void load(String nodeId, String script); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/script/jsr223/JSR223ScriptExecutor.java b/liteflow-core/src/main/java/com/yomahub/liteflow/script/jsr223/JSR223ScriptExecutor.java index 32a50e99f..56a6d39c0 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/script/jsr223/JSR223ScriptExecutor.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/script/jsr223/JSR223ScriptExecutor.java @@ -1,8 +1,6 @@ package com.yomahub.liteflow.script.jsr223; import cn.hutool.core.util.StrUtil; -import com.yomahub.liteflow.lifecycle.LifeCycleHolder; -import com.yomahub.liteflow.lifecycle.PostProcessAfterScriptEngineInitLifeCycle; import com.yomahub.liteflow.log.LFLog; import com.yomahub.liteflow.log.LFLoggerManager; import com.yomahub.liteflow.script.ScriptExecuteWrap; @@ -20,7 +18,6 @@ import javax.script.ScriptException; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.function.Consumer; /** * JSR223 script engine的统一实现抽象类 diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java index 54b5f3250..c5e46682d 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java @@ -2,13 +2,18 @@ package com.yomahub.liteflow.test.lifecycle.impl; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.flow.element.Chain; -import com.yomahub.liteflow.lifecycle.PostProcessAfterChainBuildLifeCycle; +import com.yomahub.liteflow.lifecycle.PostProcessChainBuildLifeCycle; import org.noear.solon.annotation.Component; @Component -public class TestChainLifeCycle implements PostProcessAfterChainBuildLifeCycle { +public class TestChainLifeCycle implements PostProcessChainBuildLifeCycle { + @Override + public void postProcessBeforeChainBuild(Chain chain) { + System.out.println(StrUtil.format("Chain Build(前)生命周期——[{}]已被加载",chain.getChainId())); + } + @Override public void postProcessAfterChainBuild(Chain chain) { - System.out.println(StrUtil.format("Chain生命周期——[{}]已被加载",chain.getChainId())); + System.out.println(StrUtil.format("Chain Build(后)生命周期——[{}]已被加载",chain.getChainId())); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java index aea25b033..593cb791e 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java @@ -2,11 +2,11 @@ package com.yomahub.liteflow.test.lifecycle.impl; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.flow.element.Node; -import com.yomahub.liteflow.lifecycle.PostProcessAfterNodeBuildLifeCycle; +import com.yomahub.liteflow.lifecycle.PostProcessNodeBuildLifeCycle; import org.noear.solon.annotation.Component; @Component -public class TestNodeLifeCycle implements PostProcessAfterNodeBuildLifeCycle { +public class TestNodeLifeCycle implements PostProcessNodeBuildLifeCycle { @Override public void postProcessAfterNodeBuild(Node node) { System.out.println(StrUtil.format("Node生命周期——[{}]已被加载",node.getId())); diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainExecuteLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainExecuteLifeCycle.java new file mode 100644 index 000000000..aced28b07 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainExecuteLifeCycle.java @@ -0,0 +1,19 @@ +package com.yomahub.liteflow.test.lifecycle.impl; + +import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.lifecycle.PostProcessChainExecuteLifeCycle; +import com.yomahub.liteflow.slot.Slot; +import org.springframework.stereotype.Component; + +@Component +public class TestChainExecuteLifeCycle implements PostProcessChainExecuteLifeCycle { + @Override + public void postProcessBeforeChainExecute(String chainId, Slot slot) { + System.out.println(StrUtil.format("Chain Execute 生命周期(前)——[{}]已被加载",chainId)); + } + + @Override + public void postProcessAfterChainExecute(String chainId, Slot slot) { + System.out.println(StrUtil.format("Chain Execute 生命周期(后)——[{}]已被加载",chainId)); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java index e8a071ae3..6d831eac7 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestChainLifeCycle.java @@ -2,13 +2,18 @@ package com.yomahub.liteflow.test.lifecycle.impl; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.flow.element.Chain; -import com.yomahub.liteflow.lifecycle.PostProcessAfterChainBuildLifeCycle; +import com.yomahub.liteflow.lifecycle.PostProcessChainBuildLifeCycle; import org.springframework.stereotype.Component; @Component -public class TestChainLifeCycle implements PostProcessAfterChainBuildLifeCycle { +public class TestChainLifeCycle implements PostProcessChainBuildLifeCycle { + @Override + public void postProcessBeforeChainBuild(Chain chain) { + System.out.println(StrUtil.format("Chain Build生命周期(前)——[{}]已被加载",chain.getChainId())); + } + @Override public void postProcessAfterChainBuild(Chain chain) { - System.out.println(StrUtil.format("Chain生命周期——[{}]已被加载",chain.getChainId())); + System.out.println(StrUtil.format("Chain Build生命周期(后)——[{}]已被加载",chain.getChainId())); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestFlowExecuteLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestFlowExecuteLifeCycle.java new file mode 100644 index 000000000..561ef95cd --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestFlowExecuteLifeCycle.java @@ -0,0 +1,19 @@ +package com.yomahub.liteflow.test.lifecycle.impl; + +import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.lifecycle.PostProcessFlowExecuteLifeCycle; +import com.yomahub.liteflow.slot.Slot; +import org.springframework.stereotype.Component; + +@Component +public class TestFlowExecuteLifeCycle implements PostProcessFlowExecuteLifeCycle { + @Override + public void postProcessBeforeFlowExecute(String chainId, Slot slot) { + System.out.println(StrUtil.format("FlowExecutor 生命周期(前)——[{}]已被加载",chainId)); + } + + @Override + public void postProcessAfterFlowExecute(String chainId, Slot slot) { + System.out.println(StrUtil.format("FlowExecutor 生命周期(后)——[{}]已被加载",chainId)); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java index c0e14a487..078b9b004 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java @@ -2,13 +2,18 @@ package com.yomahub.liteflow.test.lifecycle.impl; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.flow.element.Node; -import com.yomahub.liteflow.lifecycle.PostProcessAfterNodeBuildLifeCycle; +import com.yomahub.liteflow.lifecycle.PostProcessNodeBuildLifeCycle; import org.springframework.stereotype.Component; @Component -public class TestNodeLifeCycle implements PostProcessAfterNodeBuildLifeCycle { +public class TestNodeLifeCycle implements PostProcessNodeBuildLifeCycle { + @Override + public void postProcessBeforeNodeBuild(Node node) { + System.out.println(StrUtil.format("Node Build生命周期(前)——[{}]已被加载",node.getId())); + } + @Override public void postProcessAfterNodeBuild(Node node) { - System.out.println(StrUtil.format("Node生命周期——[{}]已被加载",node.getId())); + System.out.println(StrUtil.format("Node Build生命周期(后)——[{}]已被加载",node.getId())); } } From c7eba7d8db446897d69585740b987d1af5e9de97 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 12 Oct 2024 22:46:16 +0800 Subject: [PATCH 07/12] =?UTF-8?q?feature=20#IAJD9H=20=E6=9C=9F=E6=9C=9Blit?= =?UTF-8?q?eflow=20=E6=9C=89=E8=87=AA=E5=B7=B1=E7=9A=84=E7=94=9F=E5=91=BD?= =?UTF-8?q?=E5=91=A8=E6=9C=9F=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/test/lifecycle/impl/TestNodeLifeCycle.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java index 593cb791e..a6450811e 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/lifecycle/impl/TestNodeLifeCycle.java @@ -7,8 +7,13 @@ import org.noear.solon.annotation.Component; @Component public class TestNodeLifeCycle implements PostProcessNodeBuildLifeCycle { + @Override + public void postProcessBeforeNodeBuild(Node node) { + System.out.println(StrUtil.format("Node生命周期(前)——[{}]已被加载",node.getId())); + } + @Override public void postProcessAfterNodeBuild(Node node) { - System.out.println(StrUtil.format("Node生命周期——[{}]已被加载",node.getId())); + System.out.println(StrUtil.format("Node生命周期(后)——[{}]已被加载",node.getId())); } } From 4181975c4f893358dd29a8502f296ffa1086b745 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 12 Oct 2024 22:53:39 +0800 Subject: [PATCH 08/12] =?UTF-8?q?feature=20#IAJD9H=20=E6=9C=9F=E6=9C=9Blit?= =?UTF-8?q?eflow=20=E6=9C=89=E8=87=AA=E5=B7=B1=E7=9A=84=E7=94=9F=E5=91=BD?= =?UTF-8?q?=E5=91=A8=E6=9C=9F=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/lifecycle/LifeCycleHolder.java | 8 ++++++++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ 3 files changed, 12 insertions(+) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java index f248bc5ea..8b9ceab8c 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/lifecycle/LifeCycleHolder.java @@ -56,4 +56,12 @@ public class LifeCycleHolder { public static List getPostProcessChainExecuteLifeCycleList() { return POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST; } + + public static void clean(){ + POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST.clear(); + POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST.clear(); + POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST.clear(); + POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST.clear(); + POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST.clear(); + } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java index f56fe4ecd..5865761b6 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.thread.ExecutorHelper; @@ -17,6 +18,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index a9298c861..88b1fed90 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.process.holder.SpringCmpAroundAspectHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; @@ -21,6 +22,7 @@ public class BaseTest { FlowInitHook.cleanHook(); FlowBus.clearStat(); SpringCmpAroundAspectHolder.clean(); + LifeCycleHolder.clean(); } } From 72a5ad2d3ffae0e2443201c391d9f2e650e9bf07 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 12 Oct 2024 22:57:19 +0800 Subject: [PATCH 09/12] =?UTF-8?q?feature=20#IAJD9H=20=E6=9C=9F=E6=9C=9Blit?= =?UTF-8?q?eflow=20=E6=9C=89=E8=87=AA=E5=B7=B1=E7=9A=84=E7=94=9F=E5=91=BD?= =?UTF-8?q?=E5=91=A8=E6=9C=9F=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../test/java/com/yomahub/liteflow/test/script/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ .../src/test/java/com/yomahub/liteflow/test/BaseTest.java | 2 ++ 26 files changed, 52 insertions(+) diff --git a/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index b3e65fb3a..dff7b3bbc 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-apollo-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -24,6 +25,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-builder/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-builder/src/test/java/com/yomahub/liteflow/test/BaseTest.java index ee7430f53..03d6c0ab9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-builder/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-builder/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java index e7155d0b5..d64a5634f 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.thread.ExecutorHelper; @@ -17,6 +18,7 @@ public class BaseTest { SpiFactoryInitializing.clean(); LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index e51937f26..ba2a8f025 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.process.holder.SpringCmpAroundAspectHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; @@ -20,6 +21,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); SpringCmpAroundAspectHolder.clean(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index a9298c861..88b1fed90 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.process.holder.SpringCmpAroundAspectHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; @@ -21,6 +22,7 @@ public class BaseTest { FlowInitHook.cleanHook(); FlowBus.clearStat(); SpringCmpAroundAspectHolder.clean(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-etcd-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 4dd443067..865ad954c 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-nacos-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,5 +20,6 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/BaseTest.java index faad1f704..de9e9be5b 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-nospring/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -3,6 +3,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowExecutorHolder; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.thread.ExecutorHelper; @@ -19,6 +20,7 @@ public class BaseTest { FlowExecutorHolder.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 66b8b1677..3e5e7d0b7 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-redis-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,5 +20,6 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-routechain/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-routechain/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-routechain/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-routechain/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javax-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-javax-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-javax-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javax-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-kotlin-springboot/src/test/java/com/yomahub/liteflow/test/script/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-kotlin-springboot/src/test/java/com/yomahub/liteflow/test/script/BaseTest.java index d339cd820..986816be9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-kotlin-springboot/src/test/java/com/yomahub/liteflow/test/script/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-kotlin-springboot/src/test/java/com/yomahub/liteflow/test/script/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test.script; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-multi-language-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-multi-language-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-multi-language-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-multi-language-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/BaseTest.java index a9298c861..88b1fed90 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.process.holder.SpringCmpAroundAspectHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; @@ -21,6 +22,7 @@ public class BaseTest { FlowInitHook.cleanHook(); FlowBus.clearStat(); SpringCmpAroundAspectHolder.clean(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-sql-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-sql-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 1d34c8659..6e621862d 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-sql-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-sql-solon/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.thread.ExecutorHelper; @@ -17,5 +18,6 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-sql-springboot-dynamic/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-sql-springboot-dynamic/src/test/java/com/yomahub/liteflow/test/BaseTest.java index e18fb281b..9792c59b0 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-sql-springboot-dynamic/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-sql-springboot-dynamic/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -23,6 +24,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-sql-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-sql-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index e18fb281b..9792c59b0 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-sql-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-sql-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -23,6 +24,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-zk-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-zk-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java index 14f3bdf59..891764c42 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-zk-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-zk-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test; import com.yomahub.liteflow.core.FlowInitHook; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.property.LiteflowConfigGetter; import com.yomahub.liteflow.spi.holder.SpiFactoryInitializing; import com.yomahub.liteflow.spring.ComponentScanner; @@ -19,6 +20,7 @@ public class BaseTest { LiteflowConfigGetter.clean(); FlowInitHook.cleanHook(); FlowBus.clearStat(); + LifeCycleHolder.clean(); } } From 2ea9e187ff2fe5651821273fed46a17bd284973d Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sun, 13 Oct 2024 20:21:49 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/yomahub/liteflow/flow/element/Chain.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java index c5a4d935a..f8d6ae437 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/Chain.java @@ -11,6 +11,7 @@ package com.yomahub.liteflow.flow.element; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.BooleanUtil; import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder; +import com.yomahub.liteflow.common.ChainConstant; import com.yomahub.liteflow.exception.ChainEndException; import com.yomahub.liteflow.lifecycle.LifeCycleHolder; import com.yomahub.liteflow.lifecycle.PostProcessChainExecuteLifeCycle; @@ -43,7 +44,7 @@ public class Chain implements Executable{ private boolean isCompiled = true; - private String namespace; + private String namespace = ChainConstant.DEFAULT_NAMESPACE; public Chain(String chainName) { this.chainId = chainName; From 35ea7356ffd824ef4cbc4472b22c2f7a084456f2 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sun, 13 Oct 2024 23:30:35 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E8=A2=AB=E5=88=A0?= =?UTF-8?q?=E6=8E=89=E7=9A=84gpg=E5=92=8Cjavadoc=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 49123d4c7..00b1a1998 100644 --- a/pom.xml +++ b/pom.xml @@ -329,8 +329,6 @@ - - @@ -374,6 +372,35 @@ maven-site-plugin 3.7.1 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.0.1 + + + package + + jar + + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + From 7adfe1149193dfde7c7ceddcd10e6a21a0a6e2a7 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Tue, 29 Oct 2024 16:03:35 +0800 Subject: [PATCH 12/12] =?UTF-8?q?bug=20#IB0K9Y=20=E5=85=81=E8=AE=B8FlowExe?= =?UTF-8?q?cutor=E4=BC=A0=E5=85=A5=E4=B8=BAnull=E7=9A=84=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/yomahub/liteflow/slot/DataBus.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/slot/DataBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/slot/DataBus.java index 00e3032e6..7fcc6373c 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/slot/DataBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/slot/DataBus.java @@ -21,6 +21,7 @@ import com.yomahub.liteflow.property.LiteflowConfig; import com.yomahub.liteflow.property.LiteflowConfigGetter; import java.util.List; +import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; @@ -82,7 +83,7 @@ public class DataBus { } public static int offerSlotByBean(List contextList) { - List contextBeanList = contextList.stream().map(object -> { + List contextBeanList = contextList.stream().filter(Objects::nonNull).map(object -> { ContextBean contextBean = AnnoUtil.getAnnotation(object.getClass(), ContextBean.class); String contextKey; if (contextBean != null && StrUtil.isNotBlank(contextBean.value())){