Преглед изворни кода

修改模板时清理相应缓存

ZhangYanJie пре 3 месеци
родитељ
комит
09e2a5879b

+ 11 - 1
src/main/java/com/sundata/internalevaluation/script/execute/ScriptExecute.java

@@ -110,7 +110,11 @@ public class ScriptExecute {
             String finalScriptId = scriptId;
             cache.keySet().forEach((k) -> {
                 if (k.getScriptId().equals(finalScriptId)) {
-                    model.set(k);
+                    if (k.getScriptStr().equals(scriptStr)) {
+                        model.set(k);
+                    }else{
+                        cache.remove(model);
+                    }
                 }
             });
             return executeScript(model.get(), params);
@@ -159,4 +163,10 @@ public class ScriptExecute {
         }
         throw new RuntimeException("计算失败,请检查实际执行情况与日志!");
     }
+
+    public static void deleteScript(String scriptId , String scriptStr) {
+        ScriptModel model = new ScriptModel(scriptId, scriptStr);
+//        ObjectPool<Script> pool = getPool(model);
+        cache.remove(model);
+    }
 }

+ 5 - 0
src/main/java/com/sundata/internalevaluation/script/execute/TemplateExecute.java

@@ -112,6 +112,11 @@ public class TemplateExecute {
             cache.keySet().forEach((k) -> {
                 if (k.getTemplateId().equals(finalTemplateId)) {
                     model.set(k);
+                    if (k.getTemplateStr().equals(templateStr)) {
+                        model.set(k);
+                    }else{
+                        cache.remove(model);
+                    }
                 }
             });
             return executeScript(model.get(), params);