diff --git a/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java b/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java index a66ecd363..c85cb976c 100644 --- a/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java @@ -1,6 +1,7 @@ package com.yomahub.liteflow.script.groovy; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.script.ScriptBeanManager; @@ -16,6 +17,7 @@ import org.slf4j.LoggerFactory; import javax.script.*; import java.util.Map; +import java.util.function.Consumer; /** * Groovy脚本语言的执行器实现 @@ -86,7 +88,7 @@ public class GroovyScriptExecutor implements ScriptExecutor { bindings.put("_meta", metaMap); //放入用户自己定义的bean - bindings.putAll(ScriptBeanManager.getScriptBeanMap()); + ScriptBeanManager.getScriptBeanMap().forEach(bindings::putIfAbsent); return compiledScript.eval(bindings); }catch (Exception e){ diff --git a/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java b/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java index 771bdf43f..25783eeb9 100644 --- a/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java @@ -87,7 +87,8 @@ public class JavaScriptExecutor implements ScriptExecutor { bindings.put("_meta", metaMap); //放入用户自己定义的bean - bindings.putAll(ScriptBeanManager.getScriptBeanMap()); + //放入用户自己定义的bean + ScriptBeanManager.getScriptBeanMap().forEach(bindings::putIfAbsent); return compiledScript.eval(bindings); }catch (Exception e){ diff --git a/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java b/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java index 54e73247f..84de8723a 100644 --- a/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java @@ -91,7 +91,8 @@ public class QLExpressScriptExecutor implements ScriptExecutor { context.putAll(metaMap); //放入用户自己定义的bean - context.putAll(ScriptBeanManager.getScriptBeanMap()); + //放入用户自己定义的bean + ScriptBeanManager.getScriptBeanMap().forEach(context::putIfAbsent); return expressRunner.execute(instructionSet, context, errorList, true, false, null); }catch (Exception e){