AI rule node: add AI settings lifecycle events handling in listeners
This commit is contained in:
parent
c738d3a906
commit
bdb657e213
@ -112,7 +112,7 @@ public class EdgeEventSourcingListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
if (EntityType.TENANT.equals(entityType) || EntityType.EDGE.equals(entityType)) {
|
if (EntityType.TENANT == entityType || EntityType.EDGE == entityType || EntityType.AI_SETTINGS == entityType) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log.trace("[{}] DeleteEntityEvent called: {}", tenantId, event);
|
log.trace("[{}] DeleteEntityEvent called: {}", tenantId, event);
|
||||||
@ -226,7 +226,7 @@ public class EdgeEventSourcingListener {
|
|||||||
break;
|
break;
|
||||||
case TENANT:
|
case TENANT:
|
||||||
return !event.getCreated();
|
return !event.getCreated();
|
||||||
case API_USAGE_STATE, EDGE:
|
case API_USAGE_STATE, EDGE, AI_SETTINGS:
|
||||||
return false;
|
return false;
|
||||||
case DOMAIN:
|
case DOMAIN:
|
||||||
if (entity instanceof Domain domain) {
|
if (entity instanceof Domain domain) {
|
||||||
|
|||||||
@ -58,8 +58,7 @@ public class RelatedEdgesSourcingListener {
|
|||||||
log.trace("[{}] ActionEntityEvent called: {}", event.getTenantId(), event);
|
log.trace("[{}] ActionEntityEvent called: {}", event.getTenantId(), event);
|
||||||
try {
|
try {
|
||||||
switch (event.getActionType()) {
|
switch (event.getActionType()) {
|
||||||
case ASSIGNED_TO_EDGE, UNASSIGNED_FROM_EDGE ->
|
case ASSIGNED_TO_EDGE, UNASSIGNED_FROM_EDGE -> relatedEdgesService.publishRelatedEdgeIdsEvictEvent(event.getTenantId(), event.getEntityId());
|
||||||
relatedEdgesService.publishRelatedEdgeIdsEvictEvent(event.getTenantId(), event.getEntityId());
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("[{}] failed to process ActionEntityEvent: {}", event.getTenantId(), event, e);
|
log.error("[{}] failed to process ActionEntityEvent: {}", event.getTenantId(), event, e);
|
||||||
@ -67,7 +66,10 @@ public class RelatedEdgesSourcingListener {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@TransactionalEventListener(fallbackExecution = true)
|
@TransactionalEventListener(
|
||||||
|
fallbackExecution = true,
|
||||||
|
condition = "#event.entityId.getEntityType() != T(org.thingsboard.server.common.data.EntityType).AI_SETTINGS"
|
||||||
|
)
|
||||||
public void handleEvent(DeleteEntityEvent<?> event) {
|
public void handleEvent(DeleteEntityEvent<?> event) {
|
||||||
executorService.submit(() -> {
|
executorService.submit(() -> {
|
||||||
log.trace("[{}] DeleteEntityEvent called: {}", event.getTenantId(), event);
|
log.trace("[{}] DeleteEntityEvent called: {}", event.getTenantId(), event);
|
||||||
|
|||||||
@ -96,7 +96,7 @@ public class EntityStateSourcingListener {
|
|||||||
case ASSET -> {
|
case ASSET -> {
|
||||||
onAssetUpdate(event.getEntity(), event.getOldEntity());
|
onAssetUpdate(event.getEntity(), event.getOldEntity());
|
||||||
}
|
}
|
||||||
case ASSET_PROFILE, ENTITY_VIEW, NOTIFICATION_RULE -> {
|
case ASSET_PROFILE, ENTITY_VIEW, NOTIFICATION_RULE, AI_SETTINGS -> {
|
||||||
tbClusterService.broadcastEntityStateChangeEvent(tenantId, entityId, lifecycleEvent);
|
tbClusterService.broadcastEntityStateChangeEvent(tenantId, entityId, lifecycleEvent);
|
||||||
}
|
}
|
||||||
case RULE_CHAIN -> {
|
case RULE_CHAIN -> {
|
||||||
@ -158,7 +158,7 @@ public class EntityStateSourcingListener {
|
|||||||
Asset asset = (Asset) event.getEntity();
|
Asset asset = (Asset) event.getEntity();
|
||||||
tbClusterService.onAssetDeleted(tenantId, asset, null);
|
tbClusterService.onAssetDeleted(tenantId, asset, null);
|
||||||
}
|
}
|
||||||
case ASSET_PROFILE, ENTITY_VIEW, CUSTOMER, EDGE, NOTIFICATION_RULE -> {
|
case ASSET_PROFILE, ENTITY_VIEW, CUSTOMER, EDGE, NOTIFICATION_RULE, AI_SETTINGS -> {
|
||||||
tbClusterService.broadcastEntityStateChangeEvent(tenantId, entityId, ComponentLifecycleEvent.DELETED);
|
tbClusterService.broadcastEntityStateChangeEvent(tenantId, entityId, ComponentLifecycleEvent.DELETED);
|
||||||
}
|
}
|
||||||
case NOTIFICATION_REQUEST -> {
|
case NOTIFICATION_REQUEST -> {
|
||||||
|
|||||||
@ -584,16 +584,18 @@ public class DefaultTbClusterService implements TbClusterService {
|
|||||||
TbQueueProducer<TbProtoQueueMsg<ToRuleEngineNotificationMsg>> toRuleEngineProducer = producerProvider.getRuleEngineNotificationsMsgProducer();
|
TbQueueProducer<TbProtoQueueMsg<ToRuleEngineNotificationMsg>> toRuleEngineProducer = producerProvider.getRuleEngineNotificationsMsgProducer();
|
||||||
Set<String> tbRuleEngineServices = partitionService.getAllServiceIds(ServiceType.TB_RULE_ENGINE);
|
Set<String> tbRuleEngineServices = partitionService.getAllServiceIds(ServiceType.TB_RULE_ENGINE);
|
||||||
EntityType entityType = msg.getEntityId().getEntityType();
|
EntityType entityType = msg.getEntityId().getEntityType();
|
||||||
if (entityType.equals(EntityType.TENANT)
|
if (entityType.isOneOf(
|
||||||
|| entityType.equals(EntityType.TENANT_PROFILE)
|
EntityType.TENANT,
|
||||||
|| entityType.equals(EntityType.DEVICE_PROFILE)
|
EntityType.API_USAGE_STATE,
|
||||||
|| (entityType.equals(EntityType.ASSET) && msg.getEvent() == ComponentLifecycleEvent.UPDATED)
|
EntityType.ENTITY_VIEW,
|
||||||
|| entityType.equals(EntityType.ASSET_PROFILE)
|
EntityType.NOTIFICATION_RULE,
|
||||||
|| entityType.equals(EntityType.API_USAGE_STATE)
|
EntityType.CALCULATED_FIELD,
|
||||||
|| (entityType.equals(EntityType.DEVICE) && msg.getEvent() == ComponentLifecycleEvent.UPDATED)
|
EntityType.AI_SETTINGS,
|
||||||
|| entityType.equals(EntityType.ENTITY_VIEW)
|
EntityType.TENANT_PROFILE,
|
||||||
|| entityType.equals(EntityType.NOTIFICATION_RULE)
|
EntityType.DEVICE_PROFILE,
|
||||||
|| entityType.equals(EntityType.CALCULATED_FIELD)
|
EntityType.ASSET_PROFILE)
|
||||||
|
|| (entityType == EntityType.ASSET && msg.getEvent() == ComponentLifecycleEvent.UPDATED)
|
||||||
|
|| (entityType == EntityType.DEVICE && msg.getEvent() == ComponentLifecycleEvent.UPDATED)
|
||||||
) {
|
) {
|
||||||
TbQueueProducer<TbProtoQueueMsg<ToCoreNotificationMsg>> toCoreNfProducer = producerProvider.getTbCoreNotificationsMsgProducer();
|
TbQueueProducer<TbProtoQueueMsg<ToCoreNotificationMsg>> toCoreNfProducer = producerProvider.getTbCoreNotificationsMsgProducer();
|
||||||
Set<String> tbCoreServices = partitionService.getAllServiceIds(ServiceType.TB_CORE);
|
Set<String> tbCoreServices = partitionService.getAllServiceIds(ServiceType.TB_CORE);
|
||||||
|
|||||||
@ -46,7 +46,7 @@ public class CleanUpService {
|
|||||||
private final Set<EntityType> skippedEntities = EnumSet.of(
|
private final Set<EntityType> skippedEntities = EnumSet.of(
|
||||||
EntityType.ALARM, EntityType.QUEUE, EntityType.TB_RESOURCE, EntityType.OTA_PACKAGE,
|
EntityType.ALARM, EntityType.QUEUE, EntityType.TB_RESOURCE, EntityType.OTA_PACKAGE,
|
||||||
EntityType.NOTIFICATION_REQUEST, EntityType.NOTIFICATION_TEMPLATE,
|
EntityType.NOTIFICATION_REQUEST, EntityType.NOTIFICATION_TEMPLATE,
|
||||||
EntityType.NOTIFICATION_TARGET, EntityType.NOTIFICATION_RULE
|
EntityType.NOTIFICATION_TARGET, EntityType.NOTIFICATION_RULE, EntityType.AI_SETTINGS
|
||||||
);
|
);
|
||||||
|
|
||||||
@TransactionalEventListener(fallbackExecution = true) // after transaction commit
|
@TransactionalEventListener(fallbackExecution = true) // after transaction commit
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user