feature #I8MW6Q 支持脚本卸载功能

This commit is contained in:
Dale Lee
2023-12-23 21:28:06 +08:00
parent 9d92812ad2
commit 096f9610b2
5 changed files with 65 additions and 0 deletions

View File

@@ -1,7 +1,9 @@
package com.yomahub.liteflow.script.graaljs;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.yomahub.liteflow.enums.ScriptTypeEnum;
import com.yomahub.liteflow.flow.FlowBus;
import com.yomahub.liteflow.script.ScriptExecuteWrap;
import com.yomahub.liteflow.script.ScriptExecutor;
import com.yomahub.liteflow.script.exception.ScriptLoadException;
@@ -10,6 +12,9 @@ import org.graalvm.polyglot.Context;
import org.graalvm.polyglot.Engine;
import org.graalvm.polyglot.Source;
import org.graalvm.polyglot.Value;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
@@ -42,6 +47,16 @@ public class GraalJavaScriptExecutor extends ScriptExecutor {
}
}
@Override
public void unLoad(String nodeId) {
scriptMap.remove(nodeId);
}
@Override
public List<String> getNodeIds() {
return new ArrayList<>(scriptMap.keySet());
}
@Override
public Object executeScript(ScriptExecuteWrap wrap) {
if (!scriptMap.containsKey(wrap.getNodeId())) {

View File

@@ -14,6 +14,7 @@ import com.yomahub.liteflow.util.CopyOnWriteHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -49,6 +50,16 @@ public class QLExpressScriptExecutor extends ScriptExecutor {
}
}
@Override
public void unLoad(String nodeId) {
compiledScriptMap.remove(nodeId);
}
@Override
public List<String> getNodeIds() {
return new ArrayList<>(compiledScriptMap.keySet());
}
@Override
public Object executeScript(ScriptExecuteWrap wrap) throws Exception {
List<String> errorList = new ArrayList<>();