From efe55807169e1271aaf1dc29d3b1f2e7dbf6bf42 Mon Sep 17 00:00:00 2001 From: Andrii Landiak Date: Wed, 11 Oct 2023 12:49:57 +0300 Subject: [PATCH] Improve notification center broadcast logic --- .../server/service/entitiy/EntityStateSourcingListener.java | 6 +----- .../service/notification/DefaultNotificationCenter.java | 4 ---- .../dao/notification/DefaultNotificationRequestService.java | 4 +++- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java b/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java index 7b92d8c659..5804b6d8ce 100644 --- a/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java +++ b/application/src/main/java/org/thingsboard/server/service/entitiy/EntityStateSourcingListener.java @@ -138,6 +138,7 @@ public class EntityStateSourcingListener { case CUSTOMER: case EDGE: case NOTIFICATION_RULE: + case NOTIFICATION_REQUEST: tbClusterService.broadcastEntityStateChangeEvent(tenantId, entityId, ComponentLifecycleEvent.DELETED); break; case RULE_CHAIN: @@ -171,11 +172,6 @@ public class EntityStateSourcingListener { TbResource tbResource = (TbResource) event.getEntity(); tbClusterService.onResourceDeleted(tbResource, null); break; - case NOTIFICATION_REQUEST: - NotificationRequest request = (NotificationRequest) event.getEntity(); - if (request.isScheduled()) { - tbClusterService.broadcastEntityStateChangeEvent(tenantId, entityId, ComponentLifecycleEvent.DELETED); - } default: break; } diff --git a/application/src/main/java/org/thingsboard/server/service/notification/DefaultNotificationCenter.java b/application/src/main/java/org/thingsboard/server/service/notification/DefaultNotificationCenter.java index 204ff89527..9d3c04bcf0 100644 --- a/application/src/main/java/org/thingsboard/server/service/notification/DefaultNotificationCenter.java +++ b/application/src/main/java/org/thingsboard/server/service/notification/DefaultNotificationCenter.java @@ -398,10 +398,6 @@ public class DefaultNotificationCenter extends AbstractSubscriptionService imple .notificationRequestId(notificationRequestId) .deleted(true) .build()); - } else if (notificationRequest.isScheduled()) { - // TODO: just forward to scheduler service - // handling in EntityStateSourcingListener.class - // clusterService.broadcastEntityStateChangeEvent(tenantId, notificationRequestId, ComponentLifecycleEvent.DELETED); } } diff --git a/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationRequestService.java b/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationRequestService.java index 7f7e7e4f4c..9b87bd1070 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationRequestService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationRequestService.java @@ -89,7 +89,9 @@ public class DefaultNotificationRequestService implements NotificationRequestSer @Override public void deleteNotificationRequest(TenantId tenantId, NotificationRequest request) { notificationRequestDao.removeById(tenantId, request.getUuidId()); - eventPublisher.publishEvent(DeleteEntityEvent.builder().tenantId(tenantId).entity(request).entityId(request.getId()).build()); + if (request.isScheduled()) { + eventPublisher.publishEvent(DeleteEntityEvent.builder().tenantId(tenantId).entityId(request.getId()).build()); + } } @Override