Browse Source

fix: 单独执行时,scriptEngine为null的bug

gaoyoulong 1 year ago
parent
commit
53b13b0b3a

+ 6 - 0
iot-test-tool/iot-virtual-device/src/main/java/cc/iotkit/virtualdevice/VirtualManager.java

@@ -130,6 +130,12 @@ public class VirtualManager {
                 .build();
         try {
             IScriptEngine scriptEngine = virtualScripts.get(virtualDevice.getId());
+            if ( null == scriptEngine ) {
+                //添加新的脚本对象
+                scriptEngine = ScriptEngineFactory.getScriptEngine("js");
+                scriptEngine.setScript(virtualDevice.getScript());
+                virtualScripts.put(virtualDevice.getId(), scriptEngine);
+            }
             for (String deviceId : devices) {
                 DeviceInfo device = deviceInfoData.findByDeviceId(deviceId);
                 processReport(scriptEngine.invokeMethod(new TypeReference<>() {