From 82ec75e7e3ea2309b4c858b4a68f4edaff13ba87 Mon Sep 17 00:00:00 2001 From: jay li Date: Thu, 16 Oct 2025 17:04:59 +0800 Subject: [PATCH] =?UTF-8?q?bug=EF=BC=9A#ID22LR=20=E5=BD=93=20Chain=20?= =?UTF-8?q?=E5=92=8C=20=E7=BB=84=E4=BB=B6=20=E5=90=8C=E5=90=8D=E6=97=B6=20?= =?UTF-8?q?=E6=A0=88=E6=BA=A2=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/builder/el/LiteFlowChainELBuilder.java | 2 +- .../LiteflowXmlScriptQLExpressELParseModeTest.java | 8 ++++++++ .../src/test/resources/xml-script/flow.el.xml | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) 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 7ce55ea09..04f2fcb27 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 @@ -405,7 +405,7 @@ public class LiteFlowChainELBuilder { String[] itemArray = EXPRESS_RUNNER.getOutVarNames(chain.getEl()); Arrays.stream(itemArray).forEach(item -> { - if (FlowBus.containChain(item)){ + if (FlowBus.containChain(item) && !chain.getChainId().equals(item)) { Chain itemChain = FlowBus.getChain(item); if (!itemChain.isCompiled()){ buildUnCompileChain(FlowBus.getChain(item)); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/LiteflowXmlScriptQLExpressELParseModeTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/LiteflowXmlScriptQLExpressELParseModeTest.java index fd1543eac..612d28d4a 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/LiteflowXmlScriptQLExpressELParseModeTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/LiteflowXmlScriptQLExpressELParseModeTest.java @@ -69,4 +69,12 @@ public class LiteflowXmlScriptQLExpressELParseModeTest extends BaseTest { } } } + + // china 和组件 同名 爆栈 + @Test + public void testScript1() { + LiteflowResponse response = flowExecutor.execute2Resp("a", "arg"); + Assertions.assertTrue(response.isSuccess()); + Assertions.assertEquals("a==>b==>c", response.getExecuteStepStrWithoutTime()); + } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/resources/xml-script/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/resources/xml-script/flow.el.xml index d4a9c8845..67c98aec6 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/resources/xml-script/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/resources/xml-script/flow.el.xml @@ -37,4 +37,8 @@ THEN(d,SWITCH(s2).to(a,b)); + + + THEN(a,b,c); + \ No newline at end of file