|
|
|
@ -18,9 +18,12 @@ package org.thingsboard.server.actors.app; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.thingsboard.server.actors.ActorSystemContext; |
|
|
|
import org.thingsboard.server.actors.TbActor; |
|
|
|
import org.thingsboard.server.actors.TbActorCtx; |
|
|
|
import org.thingsboard.server.actors.TbActorException; |
|
|
|
import org.thingsboard.server.actors.TbActorId; |
|
|
|
import org.thingsboard.server.actors.TbActorRef; |
|
|
|
import org.thingsboard.server.actors.TbEntityActorId; |
|
|
|
import org.thingsboard.server.actors.device.SessionTimeoutCheckMsg; |
|
|
|
import org.thingsboard.server.actors.service.ContextAwareActor; |
|
|
|
import org.thingsboard.server.actors.service.ContextBasedCreator; |
|
|
|
import org.thingsboard.server.actors.service.DefaultActorService; |
|
|
|
@ -64,6 +67,15 @@ public class AppActor extends ContextAwareActor { |
|
|
|
this.deletedTenants = new HashSet<>(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void init(TbActorCtx ctx) throws TbActorException { |
|
|
|
super.init(ctx); |
|
|
|
if (systemContext.getServiceInfoProvider().isService(ServiceType.TB_CORE)) { |
|
|
|
systemContext.schedulePeriodicMsgWithDelay(ctx, SessionTimeoutCheckMsg.instance(), |
|
|
|
systemContext.getSessionReportTimeout(), systemContext.getSessionReportTimeout()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
protected boolean doProcess(TbActorMsg msg) { |
|
|
|
if (!ruleChainsInitialized) { |
|
|
|
@ -101,6 +113,9 @@ public class AppActor extends ContextAwareActor { |
|
|
|
case EDGE_EVENT_UPDATE_TO_EDGE_SESSION_MSG: |
|
|
|
onToTenantActorMsg((EdgeEventUpdateMsg) msg); |
|
|
|
break; |
|
|
|
case SESSION_TIMEOUT_MSG: |
|
|
|
ctx.broadcastToChildrenByType(msg, EntityType.TENANT); |
|
|
|
break; |
|
|
|
default: |
|
|
|
return false; |
|
|
|
} |
|
|
|
|