thingsboard-memoizeit

Fixes to Remote JS

9/27/2018 7:46:34 AM

Details

diff --git a/application/src/main/java/org/thingsboard/server/service/cluster/discovery/DummyDiscoveryService.java b/application/src/main/java/org/thingsboard/server/service/cluster/discovery/DummyDiscoveryService.java
index 64d1456..859a7af 100644
--- a/application/src/main/java/org/thingsboard/server/service/cluster/discovery/DummyDiscoveryService.java
+++ b/application/src/main/java/org/thingsboard/server/service/cluster/discovery/DummyDiscoveryService.java
@@ -16,6 +16,7 @@
 package org.thingsboard.server.service.cluster.discovery;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.DependsOn;
@@ -37,14 +38,17 @@ public class DummyDiscoveryService implements DiscoveryService {
     @Autowired
     private ServerInstanceService serverInstance;
 
+    private String nodeId;
+
     @PostConstruct
     public void init() {
         log.info("Initializing...");
+        this.nodeId = RandomStringUtils.randomAlphabetic(10);
     }
 
     @Override
     public String getNodeId() {
-        return null;
+        return nodeId;
     }
 
     @Override
diff --git a/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java b/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java
index 3507397..ffd06c0 100644
--- a/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java
+++ b/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java
@@ -59,8 +59,11 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService {
     @Value("${js.remote.max_requests_timeout}")
     private long maxRequestsTimeout;
 
-    @Value("${js.remote.response_poll_duration}")
-    private long responsePollDuration;
+    @Value("${js.remote.response_poll_interval}")
+    private int responsePollDuration;
+
+    @Value("${js.remote.response_auto_commit_interval}")
+    private int autoCommitInterval;
 
     @Getter
     @Value("${js.remote.max_errors}")
@@ -82,7 +85,7 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService {
         responseBuilder.clientId(discoveryService.getNodeId());
         responseBuilder.groupId("rule-engine-node");
         responseBuilder.autoCommit(true);
-        responseBuilder.autoCommitIntervalMs(100);
+        responseBuilder.autoCommitIntervalMs(autoCommitInterval);
         responseBuilder.decoder(new RemoteJsResponseDecoder());
 
         TbKafkaRequestTemplate.TbKafkaRequestTemplateBuilder
diff --git a/application/src/main/resources/thingsboard.yml b/application/src/main/resources/thingsboard.yml
index 37fd6cf..b7d0cc1 100644
--- a/application/src/main/resources/thingsboard.yml
+++ b/application/src/main/resources/thingsboard.yml
@@ -415,7 +415,7 @@ kafka:
   buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
 
 js:
-  evaluator: "${JS_EVALUATOR:local}" # local/remote
+  evaluator: "${JS_EVALUATOR:remote}" # local/remote
   # Built-in JVM JavaScript environment properties
   local:
     # Use Sandboxed (secured) JVM JavaScript environment
@@ -438,5 +438,7 @@ js:
     max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
     # JS response poll interval
     response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
+    # JS response auto commit interval
+    response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
     # Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
     max_errors: "${REMOTE_JS_SANDBOX_MAX_ERRORS:3}"
diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/session/BasicSessionActorToAdaptorMsg.java b/common/message/src/main/java/org/thingsboard/server/common/msg/session/BasicSessionActorToAdaptorMsg.java
index 7b23419..0e1a087 100644
--- a/common/message/src/main/java/org/thingsboard/server/common/msg/session/BasicSessionActorToAdaptorMsg.java
+++ b/common/message/src/main/java/org/thingsboard/server/common/msg/session/BasicSessionActorToAdaptorMsg.java
@@ -15,8 +15,6 @@
  */
 package org.thingsboard.server.common.msg.session;
 
-import java.util.Optional;
-
 public class BasicSessionActorToAdaptorMsg extends BasicSessionMsg implements SessionActorToAdaptorMsg {
 
     private final ToDeviceMsg msg;
diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/session/SessionContext.java b/common/message/src/main/java/org/thingsboard/server/common/msg/session/SessionContext.java
index 73aaab4..2f2d880 100644
--- a/common/message/src/main/java/org/thingsboard/server/common/msg/session/SessionContext.java
+++ b/common/message/src/main/java/org/thingsboard/server/common/msg/session/SessionContext.java
@@ -15,11 +15,12 @@
  */
 package org.thingsboard.server.common.msg.session;
 
-import org.thingsboard.server.common.data.security.DeviceCredentialsFilter;
-import org.thingsboard.server.common.msg.aware.SessionAwareMsg;
+import org.thingsboard.server.common.data.id.SessionId;
 import org.thingsboard.server.common.msg.session.ex.SessionException;
 
-public interface SessionContext extends SessionAwareMsg {
+public interface SessionContext {
+
+    SessionId getSessionId();
 
     SessionType getSessionType();
 
diff --git a/common/queue/src/main/java/org/thingsboard/server/kafka/TBKafkaConsumerTemplate.java b/common/queue/src/main/java/org/thingsboard/server/kafka/TBKafkaConsumerTemplate.java
index 1b1bb5b..af786f1 100644
--- a/common/queue/src/main/java/org/thingsboard/server/kafka/TBKafkaConsumerTemplate.java
+++ b/common/queue/src/main/java/org/thingsboard/server/kafka/TBKafkaConsumerTemplate.java
@@ -40,7 +40,7 @@ public class TBKafkaConsumerTemplate<T> {
     @Builder
     private TBKafkaConsumerTemplate(TbKafkaSettings settings, TbKafkaDecoder<T> decoder,
                                     String clientId, String groupId, String topic,
-                                    boolean autoCommit, long autoCommitIntervalMs) {
+                                    boolean autoCommit, int autoCommitIntervalMs) {
         Properties props = settings.toProps();
         props.put(ConsumerConfig.CLIENT_ID_CONFIG, clientId);
         props.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
diff --git a/common/queue/src/main/java/org/thingsboard/server/kafka/TbKafkaSettings.java b/common/queue/src/main/java/org/thingsboard/server/kafka/TbKafkaSettings.java
index 0bfa646..39797fc 100644
--- a/common/queue/src/main/java/org/thingsboard/server/kafka/TbKafkaSettings.java
+++ b/common/queue/src/main/java/org/thingsboard/server/kafka/TbKafkaSettings.java
@@ -46,7 +46,7 @@ public class TbKafkaSettings {
     private int retries;
 
     @Value("${kafka.batch.size}")
-    private long batchSize;
+    private int batchSize;
 
     @Value("${kafka.linger.ms}")
     private long lingerMs;