Browse Source

Merge pull request #5751 from smatvienko-tb/device_delete_transactional_and_cache_evict_refactor

[3.3.3] device delete transactional and cache evict refactor
pull/5755/head
Igor Kulikov 5 years ago
committed by GitHub
parent
commit
82dc38ac67
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java

10
dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java

@ -336,12 +336,14 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe
return savedDevice; return savedDevice;
} }
@Transactional
@Override @Override
public void deleteDevice(TenantId tenantId, DeviceId deviceId) { public void deleteDevice(final TenantId tenantId, final DeviceId deviceId) {
log.trace("Executing deleteDevice [{}]", deviceId); log.trace("Executing deleteDevice [{}]", deviceId);
validateId(deviceId, INCORRECT_DEVICE_ID + deviceId); validateId(deviceId, INCORRECT_DEVICE_ID + deviceId);
Device device = deviceDao.findById(tenantId, deviceId.getId()); Device device = deviceDao.findById(tenantId, deviceId.getId());
final String deviceName = device.getName();
try { try {
List<EntityView> entityViews = entityViewService.findEntityViewsByTenantIdAndEntityIdAsync(device.getTenantId(), deviceId).get(); List<EntityView> entityViews = entityViewService.findEntityViewsByTenantIdAndEntityIdAsync(device.getTenantId(), deviceId).get();
if (entityViews != null && !entityViews.isEmpty()) { if (entityViews != null && !entityViews.isEmpty()) {
@ -358,10 +360,10 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe
} }
deleteEntityRelations(tenantId, deviceId); deleteEntityRelations(tenantId, deviceId);
removeDeviceFromCacheByName(tenantId, device.getName());
removeDeviceFromCacheById(tenantId, device.getId());
deviceDao.removeById(tenantId, deviceId.getId()); deviceDao.removeById(tenantId, deviceId.getId());
removeDeviceFromCacheByName(tenantId, deviceName);
removeDeviceFromCacheById(tenantId, deviceId);
} }
private void removeDeviceFromCacheByName(TenantId tenantId, String name) { private void removeDeviceFromCacheByName(TenantId tenantId, String name) {

Loading…
Cancel
Save