From 53a975681c6b5ac0a348665dffcae612879aa1a5 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Tue, 10 Sep 2024 13:42:27 +0300 Subject: [PATCH 1/2] Refactor versioned caching --- .../thingsboard/server/cache/CacheKey.java | 26 +++++++++++++++++++ .../cache/CaffeineTbTransactionalCache.java | 5 ---- .../server/cache/RedisTbCacheTransaction.java | 2 +- .../cache/RedisTbTransactionalCache.java | 16 ++++-------- .../server/cache/TbTransactionalCache.java | 8 +++--- .../cache/VersionedCaffeineTbCache.java | 2 +- .../server/cache/VersionedRedisTbCache.java | 19 +++++++++----- .../server/cache/VersionedTbCache.java | 2 +- .../server/cache/device/DeviceCacheKey.java | 9 +++++-- .../dao/asset/AssetProfileCacheKey.java | 9 +++++-- .../dao/attributes/AttributeCacheKey.java | 9 +++++-- .../dao/device/DeviceProfileCacheKey.java | 9 +++++-- .../entity/CachedVersionedEntityService.java | 3 ++- .../dao/entityview/EntityViewCacheKey.java | 9 +++++-- .../dao/timeseries/TsLatestCacheKey.java | 9 +++++-- 15 files changed, 93 insertions(+), 44 deletions(-) create mode 100644 common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java b/common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java new file mode 100644 index 0000000000..db7af5a32b --- /dev/null +++ b/common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2024 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.cache; + +import java.io.Serializable; + +public interface CacheKey extends Serializable { + + default boolean isVersioned() { + return false; + } + +} diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/CaffeineTbTransactionalCache.java b/common/cache/src/main/java/org/thingsboard/server/cache/CaffeineTbTransactionalCache.java index 4ce6571f1c..d2ea960e68 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/CaffeineTbTransactionalCache.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/CaffeineTbTransactionalCache.java @@ -54,11 +54,6 @@ public abstract class CaffeineTbTransactionalCache get(K key, boolean transactionMode) { - return get(key); - } - @Override public void put(K key, V value) { lock.lock(); diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/RedisTbCacheTransaction.java b/common/cache/src/main/java/org/thingsboard/server/cache/RedisTbCacheTransaction.java index 3dcb6e878f..fb852493ce 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/RedisTbCacheTransaction.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/RedisTbCacheTransaction.java @@ -31,7 +31,7 @@ public class RedisTbCacheTransaction get(K key) { - return get(key, false); - } - - @Override - public TbCacheValueWrapper get(K key, boolean transactionMode) { if (!cacheEnabled) { return null; } try (var connection = connectionFactory.getConnection()) { - byte[] rawKey = getRawKey(key); - byte[] rawValue = doGet(connection, rawKey, transactionMode); + byte[] rawValue = doGet(key, connection); if (rawValue == null || rawValue.length == 0) { return null; } else if (Arrays.equals(rawValue, BINARY_NULL_VALUE)) { @@ -114,8 +108,8 @@ public abstract class RedisTbTransactionalCache get(K key); - TbCacheValueWrapper get(K key, boolean transactionMode); - void put(K key, V value); void putIfAbsent(K key, V value); @@ -53,7 +51,7 @@ public interface TbTransactionalCache cacheValueWrapper = get(key, true); + TbCacheValueWrapper cacheValueWrapper = get(key); if (cacheValueWrapper != null) { return cacheValueWrapper.get(); } @@ -66,7 +64,7 @@ public interface TbTransactionalCache R getAndPutInTransaction(K key, Supplier dbCall, Function cacheValueToResult, Function dbValueToCacheValue, boolean cacheNullValue) { - TbCacheValueWrapper cacheValueWrapper = get(key, true); + TbCacheValueWrapper cacheValueWrapper = get(key); if (cacheValueWrapper != null) { V cacheValue = cacheValueWrapper.get(); return cacheValue != null ? cacheValueToResult.apply(cacheValue) : null; @@ -92,7 +90,7 @@ public interface TbTransactionalCache cacheValueWrapper = get(key, true); + TbCacheValueWrapper cacheValueWrapper = get(key); if (cacheValueWrapper != null) { var cacheValue = cacheValueWrapper.get(); return cacheValue == null ? null : cacheValueToResult.apply(cacheValue); 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 f9c22ecc32..a8363e4f9a 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 @@ -22,7 +22,7 @@ import org.thingsboard.server.common.data.util.TbPair; import java.io.Serializable; -public abstract class VersionedCaffeineTbCache extends CaffeineTbTransactionalCache implements VersionedTbCache { +public abstract class VersionedCaffeineTbCache extends CaffeineTbTransactionalCache implements VersionedTbCache { public VersionedCaffeineTbCache(CacheManager cacheManager, String cacheName) { super(cacheManager, cacheName); diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java index 6ef3918a68..d101159ae3 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java @@ -30,7 +30,7 @@ import java.io.Serializable; import java.util.Arrays; @Slf4j -public abstract class VersionedRedisTbCache extends RedisTbTransactionalCache implements VersionedTbCache { +public abstract class VersionedRedisTbCache extends RedisTbTransactionalCache implements VersionedTbCache { private static final int VERSION_SIZE = 8; private static final int VALUE_END_OFFSET = -1; @@ -79,15 +79,20 @@ public abstract class VersionedRedisTbCache extends TbTransactionalCache { +public interface VersionedTbCache extends TbTransactionalCache { TbCacheValueWrapper get(K key); diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java b/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java index ed6258842d..c06b3eef27 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java @@ -19,17 +19,17 @@ import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.RequiredArgsConstructor; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.TenantId; import java.io.Serial; -import java.io.Serializable; @Getter @EqualsAndHashCode @RequiredArgsConstructor @Builder -public class DeviceCacheKey implements Serializable { +public class DeviceCacheKey implements CacheKey { @Serial private static final long serialVersionUID = 6366389552842340207L; @@ -61,4 +61,9 @@ public class DeviceCacheKey implements Serializable { } } + @Override + public boolean isVersioned() { + return deviceId != null; + } + } diff --git a/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java index 1e91d43a8f..85bc12dea4 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java @@ -16,14 +16,14 @@ package org.thingsboard.server.dao.asset; import lombok.Data; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.common.data.id.AssetProfileId; import org.thingsboard.server.common.data.id.TenantId; import java.io.Serial; -import java.io.Serializable; @Data -public class AssetProfileCacheKey implements Serializable { +public class AssetProfileCacheKey implements CacheKey { @Serial private static final long serialVersionUID = 8220455917177676472L; @@ -63,4 +63,9 @@ public class AssetProfileCacheKey implements Serializable { } } + @Override + public boolean isVersioned() { + return assetProfileId != null; + } + } diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java index 2cbd444f80..8204494828 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java @@ -18,16 +18,16 @@ package org.thingsboard.server.dao.attributes; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.common.data.AttributeScope; import org.thingsboard.server.common.data.id.EntityId; import java.io.Serial; -import java.io.Serializable; @EqualsAndHashCode @Getter @AllArgsConstructor -public class AttributeCacheKey implements Serializable { +public class AttributeCacheKey implements CacheKey { @Serial private static final long serialVersionUID = 2013369077925351881L; @@ -41,4 +41,9 @@ public class AttributeCacheKey implements Serializable { return "{" + entityId + "}" + scope + "_" + key; } + @Override + public boolean isVersioned() { + return true; + } + } diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java index ad886b6a7c..78056508dc 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java @@ -16,15 +16,15 @@ package org.thingsboard.server.dao.device; import lombok.Data; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.common.data.StringUtils; import org.thingsboard.server.common.data.id.DeviceProfileId; import org.thingsboard.server.common.data.id.TenantId; import java.io.Serial; -import java.io.Serializable; @Data -public class DeviceProfileCacheKey implements Serializable { +public class DeviceProfileCacheKey implements CacheKey { @Serial private static final long serialVersionUID = 8220455917177676472L; @@ -74,4 +74,9 @@ public class DeviceProfileCacheKey implements Serializable { return tenantId + "_" + name; } + @Override + public boolean isVersioned() { + return deviceProfileId != null; + } + } diff --git a/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java b/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java index 356fafbbff..d8f322f2c7 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java @@ -16,12 +16,13 @@ package org.thingsboard.server.dao.entity; import org.springframework.beans.factory.annotation.Autowired; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.cache.VersionedTbCache; import org.thingsboard.server.common.data.HasVersion; import java.io.Serializable; -public abstract class CachedVersionedEntityService extends AbstractCachedEntityService { +public abstract class CachedVersionedEntityService extends AbstractCachedEntityService { @Autowired protected VersionedTbCache cache; diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java index 59df403165..ff391b0f52 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java @@ -18,17 +18,17 @@ package org.thingsboard.server.dao.entityview; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.common.data.id.EntityId; import org.thingsboard.server.common.data.id.EntityViewId; import org.thingsboard.server.common.data.id.TenantId; import java.io.Serial; -import java.io.Serializable; @Getter @EqualsAndHashCode @Builder -public class EntityViewCacheKey implements Serializable { +public class EntityViewCacheKey implements CacheKey { @Serial private static final long serialVersionUID = 5986277528222738163L; @@ -68,4 +68,9 @@ public class EntityViewCacheKey implements Serializable { } } + @Override + public boolean isVersioned() { + return entityViewId != null; + } + } diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java index 9880f21cc1..79756044fa 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java @@ -18,15 +18,15 @@ package org.thingsboard.server.dao.timeseries; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; +import org.thingsboard.server.cache.CacheKey; import org.thingsboard.server.common.data.id.EntityId; import java.io.Serial; -import java.io.Serializable; @EqualsAndHashCode @Getter @AllArgsConstructor -public class TsLatestCacheKey implements Serializable { +public class TsLatestCacheKey implements CacheKey { @Serial private static final long serialVersionUID = 2024369077925351881L; @@ -39,4 +39,9 @@ public class TsLatestCacheKey implements Serializable { return "{" + entityId + "}" + key; } + @Override + public boolean isVersioned() { + return true; + } + } From cf0d3183e7ec76f6d7e156bf37dc69d6e75ed7fb Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Tue, 10 Sep 2024 15:23:29 +0300 Subject: [PATCH 2/2] Rename CacheKey to VersionedCacheKey --- .../server/cache/{CacheKey.java => VersionedCacheKey.java} | 2 +- .../thingsboard/server/cache/VersionedCaffeineTbCache.java | 2 +- .../org/thingsboard/server/cache/VersionedRedisTbCache.java | 2 +- .../java/org/thingsboard/server/cache/VersionedTbCache.java | 2 +- .../org/thingsboard/server/cache/device/DeviceCacheKey.java | 4 ++-- .../thingsboard/server/dao/asset/AssetProfileCacheKey.java | 4 ++-- .../thingsboard/server/dao/attributes/AttributeCacheKey.java | 4 ++-- .../thingsboard/server/dao/device/DeviceProfileCacheKey.java | 4 ++-- .../server/dao/entity/CachedVersionedEntityService.java | 4 ++-- .../thingsboard/server/dao/entityview/EntityViewCacheKey.java | 4 ++-- .../thingsboard/server/dao/timeseries/TsLatestCacheKey.java | 4 ++-- 11 files changed, 18 insertions(+), 18 deletions(-) rename common/cache/src/main/java/org/thingsboard/server/cache/{CacheKey.java => VersionedCacheKey.java} (92%) diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedCacheKey.java similarity index 92% rename from common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java rename to common/cache/src/main/java/org/thingsboard/server/cache/VersionedCacheKey.java index db7af5a32b..f339d9def3 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/CacheKey.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedCacheKey.java @@ -17,7 +17,7 @@ package org.thingsboard.server.cache; import java.io.Serializable; -public interface CacheKey extends Serializable { +public interface VersionedCacheKey extends Serializable { default boolean isVersioned() { return false; 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 a8363e4f9a..535fa64cd9 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 @@ -22,7 +22,7 @@ import org.thingsboard.server.common.data.util.TbPair; import java.io.Serializable; -public abstract class VersionedCaffeineTbCache extends CaffeineTbTransactionalCache implements VersionedTbCache { +public abstract class VersionedCaffeineTbCache extends CaffeineTbTransactionalCache implements VersionedTbCache { public VersionedCaffeineTbCache(CacheManager cacheManager, String cacheName) { super(cacheManager, cacheName); diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java index d101159ae3..e9b64822e9 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedRedisTbCache.java @@ -30,7 +30,7 @@ import java.io.Serializable; import java.util.Arrays; @Slf4j -public abstract class VersionedRedisTbCache extends RedisTbTransactionalCache implements VersionedTbCache { +public abstract class VersionedRedisTbCache extends RedisTbTransactionalCache implements VersionedTbCache { private static final int VERSION_SIZE = 8; private static final int VALUE_END_OFFSET = -1; diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedTbCache.java b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedTbCache.java index 083ce93bac..c610825faf 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/VersionedTbCache.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/VersionedTbCache.java @@ -22,7 +22,7 @@ import java.util.Collection; import java.util.Optional; import java.util.function.Supplier; -public interface VersionedTbCache extends TbTransactionalCache { +public interface VersionedTbCache extends TbTransactionalCache { TbCacheValueWrapper get(K key); diff --git a/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java b/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java index c06b3eef27..2a0819851e 100644 --- a/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java +++ b/common/cache/src/main/java/org/thingsboard/server/cache/device/DeviceCacheKey.java @@ -19,7 +19,7 @@ import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.RequiredArgsConstructor; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.TenantId; @@ -29,7 +29,7 @@ import java.io.Serial; @EqualsAndHashCode @RequiredArgsConstructor @Builder -public class DeviceCacheKey implements CacheKey { +public class DeviceCacheKey implements VersionedCacheKey { @Serial private static final long serialVersionUID = 6366389552842340207L; diff --git a/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java index 85bc12dea4..aa3f6ce89f 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileCacheKey.java @@ -16,14 +16,14 @@ package org.thingsboard.server.dao.asset; import lombok.Data; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.common.data.id.AssetProfileId; import org.thingsboard.server.common.data.id.TenantId; import java.io.Serial; @Data -public class AssetProfileCacheKey implements CacheKey { +public class AssetProfileCacheKey implements VersionedCacheKey { @Serial private static final long serialVersionUID = 8220455917177676472L; diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java index 8204494828..def2c6c45c 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributeCacheKey.java @@ -18,7 +18,7 @@ package org.thingsboard.server.dao.attributes; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.common.data.AttributeScope; import org.thingsboard.server.common.data.id.EntityId; @@ -27,7 +27,7 @@ import java.io.Serial; @EqualsAndHashCode @Getter @AllArgsConstructor -public class AttributeCacheKey implements CacheKey { +public class AttributeCacheKey implements VersionedCacheKey { @Serial private static final long serialVersionUID = 2013369077925351881L; diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java index 78056508dc..55e8aa66eb 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileCacheKey.java @@ -16,7 +16,7 @@ package org.thingsboard.server.dao.device; import lombok.Data; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.common.data.StringUtils; import org.thingsboard.server.common.data.id.DeviceProfileId; import org.thingsboard.server.common.data.id.TenantId; @@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.id.TenantId; import java.io.Serial; @Data -public class DeviceProfileCacheKey implements CacheKey { +public class DeviceProfileCacheKey implements VersionedCacheKey { @Serial private static final long serialVersionUID = 8220455917177676472L; diff --git a/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java b/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java index d8f322f2c7..46045ab928 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/entity/CachedVersionedEntityService.java @@ -16,13 +16,13 @@ package org.thingsboard.server.dao.entity; import org.springframework.beans.factory.annotation.Autowired; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.cache.VersionedTbCache; import org.thingsboard.server.common.data.HasVersion; import java.io.Serializable; -public abstract class CachedVersionedEntityService extends AbstractCachedEntityService { +public abstract class CachedVersionedEntityService extends AbstractCachedEntityService { @Autowired protected VersionedTbCache cache; diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java index ff391b0f52..deb1d85b78 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewCacheKey.java @@ -18,7 +18,7 @@ package org.thingsboard.server.dao.entityview; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.common.data.id.EntityId; import org.thingsboard.server.common.data.id.EntityViewId; import org.thingsboard.server.common.data.id.TenantId; @@ -28,7 +28,7 @@ import java.io.Serial; @Getter @EqualsAndHashCode @Builder -public class EntityViewCacheKey implements CacheKey { +public class EntityViewCacheKey implements VersionedCacheKey { @Serial private static final long serialVersionUID = 5986277528222738163L; diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java index 79756044fa..593bc55e1e 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java +++ b/dao/src/main/java/org/thingsboard/server/dao/timeseries/TsLatestCacheKey.java @@ -18,7 +18,7 @@ package org.thingsboard.server.dao.timeseries; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; -import org.thingsboard.server.cache.CacheKey; +import org.thingsboard.server.cache.VersionedCacheKey; import org.thingsboard.server.common.data.id.EntityId; import java.io.Serial; @@ -26,7 +26,7 @@ import java.io.Serial; @EqualsAndHashCode @Getter @AllArgsConstructor -public class TsLatestCacheKey implements CacheKey { +public class TsLatestCacheKey implements VersionedCacheKey { @Serial private static final long serialVersionUID = 2024369077925351881L;