Browse Source

Fixes to Remote JS

pull/1150/head
Andrew Shvayka 8 years ago
parent
commit
029775e557
  1. 6
      application/src/main/java/org/thingsboard/server/service/cluster/discovery/DummyDiscoveryService.java
  2. 9
      application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java
  3. 4
      application/src/main/resources/thingsboard.yml
  4. 2
      common/message/src/main/java/org/thingsboard/server/common/msg/session/BasicSessionActorToAdaptorMsg.java
  5. 7
      common/message/src/main/java/org/thingsboard/server/common/msg/session/SessionContext.java
  6. 2
      common/queue/src/main/java/org/thingsboard/server/kafka/TBKafkaConsumerTemplate.java
  7. 2
      common/queue/src/main/java/org/thingsboard/server/kafka/TbKafkaSettings.java

6
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

9
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

4
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}"

2
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;

7
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();

2
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);

2
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;

Loading…
Cancel
Save