thingsboard-aplcache

Details

diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java
index c1a55fb..dbad7c0 100644
--- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java
+++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleChainActor.java
@@ -57,6 +57,9 @@ public class RuleChainActor extends ComponentActor<RuleChainId, RuleChainActorMe
                 break;
             case CLUSTER_EVENT_MSG:
                 break;
+            case STATS_PERSIST_TICK_MSG:
+                onStatsPersistTick(id);
+                break;
             default:
                 return false;
         }
diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleNodeActor.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleNodeActor.java
index f7ca0d8..273a569 100644
--- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleNodeActor.java
+++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/RuleNodeActor.java
@@ -50,6 +50,9 @@ public class RuleNodeActor extends ComponentActor<RuleNodeId, RuleNodeActorMessa
             case RULE_TO_SELF_MSG:
                 onRuleNodeToSelfMsg((RuleNodeToSelfMsg) msg);
                 break;
+            case STATS_PERSIST_TICK_MSG:
+                onStatsPersistTick(id);
+                break;
             default:
                 return false;
         }
diff --git a/application/src/main/java/org/thingsboard/server/actors/service/ComponentActor.java b/application/src/main/java/org/thingsboard/server/actors/service/ComponentActor.java
index 6aa68d3..ed59051 100644
--- a/application/src/main/java/org/thingsboard/server/actors/service/ComponentActor.java
+++ b/application/src/main/java/org/thingsboard/server/actors/service/ComponentActor.java
@@ -159,11 +159,11 @@ public abstract class ComponentActor<T extends EntityId, P extends ComponentMsgP
         }
     }
 
-    protected void logLifecycleEvent(ComponentLifecycleEvent event) {
+    private void logLifecycleEvent(ComponentLifecycleEvent event) {
         logLifecycleEvent(event, null);
     }
 
-    protected void logLifecycleEvent(ComponentLifecycleEvent event, Exception e) {
+    private void logLifecycleEvent(ComponentLifecycleEvent event, Exception e) {
         systemContext.persistLifecycleEvent(tenantId, id, event, e);
     }
 
diff --git a/application/src/main/java/org/thingsboard/server/actors/stats/StatsPersistTick.java b/application/src/main/java/org/thingsboard/server/actors/stats/StatsPersistTick.java
index 24188d4..0c91bc0 100644
--- a/application/src/main/java/org/thingsboard/server/actors/stats/StatsPersistTick.java
+++ b/application/src/main/java/org/thingsboard/server/actors/stats/StatsPersistTick.java
@@ -15,4 +15,12 @@
  */
 package org.thingsboard.server.actors.stats;
 
-public final class StatsPersistTick {}
+import org.thingsboard.server.common.msg.MsgType;
+import org.thingsboard.server.common.msg.TbActorMsg;
+
+public final class StatsPersistTick implements TbActorMsg{
+    @Override
+    public MsgType getMsgType() {
+        return MsgType.STATS_PERSIST_TICK_MSG;
+    }
+}
diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/BooleanDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/BooleanDataEntry.java
index 30c3b5d..e78f1d3 100644
--- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/BooleanDataEntry.java
+++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/BooleanDataEntry.java
@@ -33,7 +33,7 @@ public class BooleanDataEntry extends BasicKvEntry {
 
     @Override
     public Optional<Boolean> getBooleanValue() {
-        return Optional.of(value);
+        return Optional.ofNullable(value);
     }
 
     @Override
diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java
index dda906b..4d9f3f7 100644
--- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java
+++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/DoubleDataEntry.java
@@ -34,7 +34,7 @@ public class DoubleDataEntry extends BasicKvEntry {
 
     @Override
     public Optional<Double> getDoubleValue() {
-        return Optional.of(value);
+        return Optional.ofNullable(value);
     }
 
     @Override
diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java
index eb34389..18a817f 100644
--- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java
+++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/LongDataEntry.java
@@ -34,7 +34,7 @@ public class LongDataEntry extends BasicKvEntry {
 
     @Override
     public Optional<Long> getLongValue() {
-        return Optional.of(value);
+        return Optional.ofNullable(value);
     }
 
     @Override
diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java b/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java
index 9131e20..5f1f2a2 100644
--- a/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java
+++ b/common/data/src/main/java/org/thingsboard/server/common/data/kv/StringDataEntry.java
@@ -35,7 +35,7 @@ public class StringDataEntry extends BasicKvEntry {
 
     @Override
     public Optional<String> getStrValue() {
-        return Optional.of(value);
+        return Optional.ofNullable(value);
     }
 
     @Override
diff --git a/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java b/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java
index c8b5c4e..60e5469 100644
--- a/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java
+++ b/common/message/src/main/java/org/thingsboard/server/common/msg/MsgType.java
@@ -110,6 +110,7 @@ public enum MsgType {
     ACTOR_SYSTEM_TO_DEVICE_SESSION_ACTOR_MSG,
     TRANSPORT_TO_DEVICE_SESSION_ACTOR_MSG,
     SESSION_TIMEOUT_MSG,
-    SESSION_CTRL_MSG;
+    SESSION_CTRL_MSG,
+    STATS_PERSIST_TICK_MSG;
 
 }