thingsboard-aplcache
Changes
application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java 2(+2 -0)
ui/src/app/services/item-buffer.service.js 11(+10 -1)
Details
diff --git a/application/src/main/java/org/thingsboard/server/service/rpc/DefaultDeviceRpcService.java b/application/src/main/java/org/thingsboard/server/service/rpc/DefaultDeviceRpcService.java
index 8e86661..64f5213 100644
--- a/application/src/main/java/org/thingsboard/server/service/rpc/DefaultDeviceRpcService.java
+++ b/application/src/main/java/org/thingsboard/server/service/rpc/DefaultDeviceRpcService.java
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.protobuf.InvalidProtocolBufferException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.thingsboard.rule.engine.api.RpcError;
import org.thingsboard.rule.engine.api.msg.ToDeviceActorNotificationMsg;
@@ -67,6 +68,7 @@ public class DefaultDeviceRpcService implements DeviceRpcService {
private ClusterRpcService rpcService;
@Autowired
+ @Lazy
private ActorService actorService;
private ScheduledExecutorService rpcCallBackExecutor;
diff --git a/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java b/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java
index a41fdee..f4e37db 100644
--- a/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java
+++ b/application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java
@@ -28,6 +28,7 @@ import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.thingsboard.rule.engine.api.RpcError;
import org.thingsboard.server.actors.service.ActorService;
@@ -102,6 +103,7 @@ public class DefaultDeviceStateService implements DeviceStateService {
private AttributesService attributesService;
@Autowired
+ @Lazy
private ActorService actorService;
@Autowired
diff --git a/application/src/main/resources/thingsboard.yml b/application/src/main/resources/thingsboard.yml
index 154a098..2a2728d 100644
--- a/application/src/main/resources/thingsboard.yml
+++ b/application/src/main/resources/thingsboard.yml
@@ -225,7 +225,7 @@ sql:
# Actor system parameters
actors:
tenant:
- create_components_on_init: true
+ create_components_on_init: "${ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT:true}"
session:
max_concurrent_sessions_per_device: "${ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE:1}"
sync:
ui/src/app/services/item-buffer.service.js 11(+10 -1)
diff --git a/ui/src/app/services/item-buffer.service.js b/ui/src/app/services/item-buffer.service.js
index a9fe348..09ed9c5 100644
--- a/ui/src/app/services/item-buffer.service.js
+++ b/ui/src/app/services/item-buffer.service.js
@@ -214,10 +214,19 @@ function ItemBuffer($q, bufferStore, types, utils, dashboardUtils, ruleChainServ
var node = ruleNodes.nodes[i];
var component = ruleChainService.getRuleNodeComponentByClazz(node.componentClazz);
if (component) {
+ var icon = types.ruleNodeType[component.type].icon;
+ var iconUrl = null;
+ if (component.configurationDescriptor.nodeDefinition.icon) {
+ icon = component.configurationDescriptor.nodeDefinition.icon;
+ }
+ if (component.configurationDescriptor.nodeDefinition.iconUrl) {
+ iconUrl = component.configurationDescriptor.nodeDefinition.iconUrl;
+ }
delete node.componentClazz;
node.component = component;
node.nodeClass = types.ruleNodeType[component.type].nodeClass;
- node.icon = types.ruleNodeType[component.type].icon;
+ node.icon = icon;
+ node.iconUrl = iconUrl;
node.connectors = [];
node.x = Math.round(node.x + deltaX);
node.y = Math.round(node.y + deltaY);