From d5e3a22014441f74137ecaa1692ea49dbbcb0241 Mon Sep 17 00:00:00 2001 From: DaleLee <1658850308@qq.com> Date: Fri, 2 Feb 2024 16:15:17 +0800 Subject: [PATCH] =?UTF-8?q?For=20#I8MW6Q,=20=E5=AE=8C=E5=96=84=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/flow/FlowBus.java | 28 ++++++++++--------- .../LiteFlowAviatorScriptRemoveELTest.java | 2 +- .../remove/LiteFlowJsScriptRemoveELTest.java | 2 +- .../LiteFlowGroovyScriptRemoveELTest.java | 2 +- .../LiteFlowJavaScriptRemoveELTest.java | 2 +- .../remove/LiteFlowJsScriptRemoveELTest.java | 2 +- .../remove/LiteFlowLuaScriptRemoveELTest.java | 2 +- .../LiteFlowPythonScriptRemoveELTest.java | 2 +- .../LiteFlowQLExpressScriptRemoveELTest.java | 2 +- 9 files changed, 23 insertions(+), 21 deletions(-) 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 17e8a5ca8..abf11c145 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 @@ -306,19 +306,7 @@ public class FlowBus { // 移除节点 public static boolean removeNode(String nodeId) { - Node node = getNode(nodeId); - if (node == null) { - // 节点不存在 - return false; - } - nodeMap.remove(nodeId); - // 如果是脚本节点,移除脚本 - if (node.getType().isScript()) { - ScriptExecutorFactory.loadInstance() - .getScriptExecutor(node.getLanguage()) - .unLoad(nodeId); - } - return true; + return nodeMap.remove(nodeId) != null; } // 判断是否是降级组件,如果是则添加到 fallbackNodeMap @@ -346,6 +334,20 @@ public class FlowBus { .load(nodeId, script); } + // 卸载脚本节点 + public static boolean unloadScriptNode(String nodeId) { + Node node = getNode(nodeId); + if (node == null || !node.getType().isScript()) { + return false; + } + // 卸载脚本 + ScriptExecutorFactory.loadInstance() + .getScriptExecutor(node.getLanguage()) + .unLoad(nodeId); + // 移除脚本 + return removeNode(nodeId); + } + public static void clearStat(){ initStat.set(false); } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/script/aviator/remove/LiteFlowAviatorScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/script/aviator/remove/LiteFlowAviatorScriptRemoveELTest.java index 738bd09e5..91dda522c 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/script/aviator/remove/LiteFlowAviatorScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-aviator-springboot/src/test/java/com/yomahub/liteflow/test/script/aviator/remove/LiteFlowAviatorScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowAviatorScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Long.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/remove/LiteFlowJsScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/remove/LiteFlowJsScriptRemoveELTest.java index 86db95027..f717aa0ac 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/remove/LiteFlowJsScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/remove/LiteFlowJsScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowJsScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Integer.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/remove/LiteFlowGroovyScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/remove/LiteFlowGroovyScriptRemoveELTest.java index e1c0e6ad6..fe0d8ec21 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/remove/LiteFlowGroovyScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-groovy-springboot/src/test/java/com/yomahub/liteflow/test/script/groovy/remove/LiteFlowGroovyScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowGroovyScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Integer.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/script/java/remove/LiteFlowJavaScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/script/java/remove/LiteFlowJavaScriptRemoveELTest.java index 205ba5a36..1fea75100 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/script/java/remove/LiteFlowJavaScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-java-springboot/src/test/java/com/yomahub/liteflow/test/script/java/remove/LiteFlowJavaScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowJavaScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Integer.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/remove/LiteFlowJsScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/remove/LiteFlowJsScriptRemoveELTest.java index a104fd333..fd1740dad 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/remove/LiteFlowJsScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/remove/LiteFlowJsScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowJsScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Double.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/script/lua/remove/LiteFlowLuaScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/script/lua/remove/LiteFlowLuaScriptRemoveELTest.java index 951d0a94a..395cfbd1d 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/script/lua/remove/LiteFlowLuaScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-lua-springboot/src/test/java/com/yomahub/liteflow/test/script/lua/remove/LiteFlowLuaScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowLuaScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Integer.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/script/python/remove/LiteFlowPythonScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/script/python/remove/LiteFlowPythonScriptRemoveELTest.java index fd06b7eaa..c4643525d 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/script/python/remove/LiteFlowPythonScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-python-springboot/src/test/java/com/yomahub/liteflow/test/script/python/remove/LiteFlowPythonScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowPythonScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Integer.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg"); diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/remove/LiteFlowQLExpressScriptRemoveELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/remove/LiteFlowQLExpressScriptRemoveELTest.java index c86d6a2d3..99d727048 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/remove/LiteFlowQLExpressScriptRemoveELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-qlexpress-springboot/src/test/java/com/yomahub/liteflow/test/script/qlexpress/remove/LiteFlowQLExpressScriptRemoveELTest.java @@ -79,7 +79,7 @@ public class LiteFlowQLExpressScriptRemoveELTest extends BaseTest { Assertions.assertEquals(Integer.valueOf(5), context.getData("s2")); // 卸载节点 - FlowBus.removeNode("s2"); + FlowBus.unloadScriptNode("s2"); // 旧 chain 报脚本加载错误 response = flowExecutor.execute2Resp("chain2", "arg");