diff --git a/das/src/main/java/com/das/modules/calc/service/CalcJob.java b/das/src/main/java/com/das/modules/calc/service/CalcJob.java index 8015eff5..4bf6062e 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcJob.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcJob.java @@ -34,7 +34,7 @@ public class CalcJob implements Job { log.error("expression is null, calcModule={}", calcModule.getName()); throw new JobExecutionException("expression is null"); } - Map envs = expression.newEnv("G_DEVICES", cacheService.getEquipmentCache().getDevicesCache()); + Map envs = expression.newEnv("G_DEVICES", cacheService.getEquipmentCache().getDevicesCache(), "G_WINDFARM"); Object result = expression.execute(envs); sw.stop(); log.debug("任务[{}]已执行,结果:{}, 耗时:{}秒", calcModule.getName(), result, sw.getTotalTimeMillis()/1000.0); diff --git a/das/src/main/java/com/das/modules/calc/service/CalcService.java b/das/src/main/java/com/das/modules/calc/service/CalcService.java index 6a3b8994..377aab03 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcService.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcService.java @@ -73,6 +73,7 @@ public class CalcService { if (sh.checkExists(jobKey)){ throw new SchedulerException("计算模块已启动,请先停止该模块"); } + aviator.compile(scriptModule.getName(), scriptModule.getScript(), true); JobDetail jobDetail = JobBuilder .newJob(CalcJob.class) .setJobData(dataMap) @@ -95,6 +96,7 @@ public class CalcService { JobKey jobKey = JobKey.jobKey(name, "CalcEngine"); if (sh.checkExists(jobKey)){ sh.deleteJob(jobKey); + aviator.invalidateCacheByKey(name); } }