From b65aa4cc8aab0db8d28afe7e7867bea70302dccd Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Thu, 3 Nov 2022 11:18:30 +0200 Subject: [PATCH] Add special command to warm up MVEL engine --- .../script/api/mvel/DefaultMvelInvokeService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/script/script-api/src/main/java/org/thingsboard/script/api/mvel/DefaultMvelInvokeService.java b/common/script/script-api/src/main/java/org/thingsboard/script/api/mvel/DefaultMvelInvokeService.java index 844f39a6f2..e72c24ecf4 100644 --- a/common/script/script-api/src/main/java/org/thingsboard/script/api/mvel/DefaultMvelInvokeService.java +++ b/common/script/script-api/src/main/java/org/thingsboard/script/api/mvel/DefaultMvelInvokeService.java @@ -113,6 +113,12 @@ public class DefaultMvelInvokeService extends AbstractScriptInvokeService implem parserConfig.addImport("JSON", TbJson.class); TbUtils.register(parserConfig); executor = MoreExecutors.listeningDecorator(ThingsBoardExecutors.newWorkStealingPool(threadPoolSize, "mvel-executor")); + try { + // Special command to warm up MVEL engine + MVEL.compileExpression("var warmUp = {}; warmUp", new SandboxedParserContext(parserConfig)); + } catch (Exception e) { + // do nothing + } } @PreDestroy