diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedCaffeineTbCache.java b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedCaffeineTbCache.java index e084668b90..f2ac3c36d2 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedCaffeineTbCache.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedCaffeineTbCache.java @@ -35,7 +35,11 @@ public abstract class VersionedCaffeineTbCache get(K key) { - return SimpleTbCacheValueWrapper.wrap(doGet(key).getSecond()); + TbPair versionValuePair = doGet(key); + if (versionValuePair != null) { + return SimpleTbCacheValueWrapper.wrap(versionValuePair.getSecond()); + } + return null; } @Override @@ -52,8 +56,7 @@ public abstract class VersionedCaffeineTbCache versionValuePair = doGet(key); - Long currentVersion = versionValuePair.getFirst(); - if (currentVersion == null || version > currentVersion) { + if (versionValuePair == null || version > versionValuePair.getFirst()) { cacheManager.getCache(cacheName).put(key, TbPair.of(version, value)); } } finally { @@ -63,7 +66,7 @@ public abstract class VersionedCaffeineTbCache doGet(K key) { Cache.ValueWrapper source = cacheManager.getCache(cacheName).get(key); - return source == null ? TbPair.emptyPair() : (TbPair) source.get(); + return source == null ? null : (TbPair) source.get(); } @Override diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/util/TbPair.java b/common/data/src/main/java/org/thingsboard/server/common/data/util/TbPair.java index 315131bdad..6e8b2e5696 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/util/TbPair.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/util/TbPair.java @@ -21,17 +21,10 @@ import lombok.Data; @Data @AllArgsConstructor public class TbPair { - public static final TbPair EMPTY = new TbPair<>(null, null); - private S first; private T second; public static TbPair of(S first, T second) { return new TbPair<>(first, second); } - - @SuppressWarnings("unchecked") - public static TbPair emptyPair() { - return (TbPair) EMPTY; - } }