From 57b09b2328aa6c97b41eb48ca87141a97b1adebe Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Mon, 20 Dec 2021 15:35:23 +0200 Subject: [PATCH] device delete transactional and cache evict refactor --- .../server/dao/device/DeviceServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java index 3255bf75b4..f70d1c1ffe 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java @@ -336,12 +336,14 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe return savedDevice; } + @Transactional @Override - public void deleteDevice(TenantId tenantId, DeviceId deviceId) { + public void deleteDevice(final TenantId tenantId, final DeviceId deviceId) { log.trace("Executing deleteDevice [{}]", deviceId); validateId(deviceId, INCORRECT_DEVICE_ID + deviceId); Device device = deviceDao.findById(tenantId, deviceId.getId()); + final String deviceName = device.getName(); try { List entityViews = entityViewService.findEntityViewsByTenantIdAndEntityIdAsync(device.getTenantId(), deviceId).get(); if (entityViews != null && !entityViews.isEmpty()) { @@ -358,10 +360,10 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe } deleteEntityRelations(tenantId, deviceId); - removeDeviceFromCacheByName(tenantId, device.getName()); - removeDeviceFromCacheById(tenantId, device.getId()); - deviceDao.removeById(tenantId, deviceId.getId()); + + removeDeviceFromCacheByName(tenantId, deviceName); + removeDeviceFromCacheById(tenantId, deviceId); } private void removeDeviceFromCacheByName(TenantId tenantId, String name) {