• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ActorContext类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中akka.actor.ActorContext的典型用法代码示例。如果您正苦于以下问题:Java ActorContext类的具体用法?Java ActorContext怎么用?Java ActorContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ActorContext类属于akka.actor包,在下文中一共展示了ActorContext类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: RaftActorContextImpl

import akka.actor.ActorContext; //导入依赖的package包/类
public RaftActorContextImpl(ActorRef actor, ActorContext context, String id,
        @Nonnull ElectionTerm termInformation, long commitIndex, long lastApplied,
        @Nonnull Map<String, String> peerAddresses,
        @Nonnull ConfigParams configParams, @Nonnull DataPersistenceProvider persistenceProvider,
        @Nonnull Consumer<ApplyState> applyStateConsumer, @Nonnull Logger logger) {
    this.actor = actor;
    this.context = context;
    this.id = id;
    this.termInformation = Preconditions.checkNotNull(termInformation);
    this.commitIndex = commitIndex;
    this.lastApplied = lastApplied;
    this.configParams = Preconditions.checkNotNull(configParams);
    this.persistenceProvider = Preconditions.checkNotNull(persistenceProvider);
    this.log = Preconditions.checkNotNull(logger);
    this.applyStateConsumer = Preconditions.checkNotNull(applyStateConsumer);

    fileBackedOutputStreamFactory = new FileBackedOutputStreamFactory(
            configParams.getFileBackedStreamingThreshold(), configParams.getTempFileDirectory());

    for (Map.Entry<String, String> e: Preconditions.checkNotNull(peerAddresses).entrySet()) {
        peerInfoMap.put(e.getKey(), new PeerInfo(e.getKey(), e.getValue(), VotingState.VOTING));
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:24,代码来源:RaftActorContextImpl.java


示例2: onUpdate

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void onUpdate(ActorContext context) throws Exception {
  PluginMetaData oldPluginMd = pluginMd;
  pluginMd = systemContext.getPluginService().findPluginById(entityId);
  boolean requiresRestart = false;
  logger.info("[{}] Plugin configuration was updated from {} to {}.", entityId, oldPluginMd, pluginMd);
  if (!oldPluginMd.getClazz().equals(pluginMd.getClazz())) {
    logger.info("[{}] Plugin requires restart due to clazz change from {} to {}.", entityId, oldPluginMd.getClazz(),
        pluginMd.getClazz());
    requiresRestart = true;
  } else if (!oldPluginMd.getConfiguration().equals(pluginMd.getConfiguration())) {
    logger.info("[{}] Plugin requires restart due to configuration change from {} to {}.", entityId,
        oldPluginMd.getConfiguration(), pluginMd.getConfiguration());
    requiresRestart = true;
  }
  if (requiresRestart) {
    this.state = ComponentLifecycleState.SUSPENDED;
    if (pluginImpl != null) {
      pluginImpl.stop(trustedCtx);
    }
    start();
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:24,代码来源:PluginActorMessageProcessor.java


示例3: sendPendingRequests

import akka.actor.ActorContext; //导入依赖的package包/类
private void sendPendingRequests(ActorContext context, SessionId sessionId, SessionType type,
    Optional<ServerAddress> server) {
  if (!rpcPendingMap.isEmpty()) {
    logger.debug("[{}] Pushing {} pending RPC messages to new async session [{}]", deviceId, rpcPendingMap.size(),
        sessionId);
    if (type == SessionType.SYNC) {
      logger.debug("[{}] Cleanup sync rpc session [{}]", deviceId, sessionId);
      rpcSubscriptions.remove(sessionId);
    }
  } else {
    logger.debug("[{}] No pending RPC messages for new async session [{}]", deviceId, sessionId);
  }
  Set<UUID> sentOneWayIds = new HashSet<>();
  if (type == SessionType.ASYNC) {
    rpcPendingMap.entrySet().forEach(processPendingRpc(context, sessionId, server, sentOneWayIds));
  } else {
    rpcPendingMap.entrySet().stream().findFirst()
        .ifPresent(processPendingRpc(context, sessionId, server, sentOneWayIds));
  }

  sentOneWayIds.forEach(rpcPendingMap::remove);
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:23,代码来源:DeviceActorMessageProcessor.java


示例4: processPendingRpc

import akka.actor.ActorContext; //导入依赖的package包/类
private Consumer<Map.Entry<Integer, ToDeviceRpcRequestMetadata>> processPendingRpc(ActorContext context,
    SessionId sessionId, Optional<ServerAddress> server, Set<UUID> sentOneWayIds) {
  return entry -> {
    ToDeviceRpcRequest request = entry.getValue().getMsg().getMsg();
    ToDeviceRpcRequestBody body = request.getBody();
    if (request.isOneway()) {
      sentOneWayIds.add(request.getId());
      ToPluginRpcResponseDeviceMsg responsePluginMsg = toPluginRpcResponseMsg(entry.getValue().getMsg(),
          (String) null);
      context.parent().tell(responsePluginMsg, ActorRef.noSender());
    }
    ToDeviceRpcRequestMsg rpcRequest = new ToDeviceRpcRequestMsg(entry.getKey(), body.getMethod(), body.getParams());
    ToDeviceSessionActorMsg response = new BasicToDeviceSessionActorMsg(rpcRequest, sessionId);
    sendMsgToSessionActor(response, server);
  };
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:17,代码来源:DeviceActorMessageProcessor.java


示例5: processSubscriptionCommands

import akka.actor.ActorContext; //导入依赖的package包/类
private void processSubscriptionCommands(ActorContext context, ToDeviceActorMsg msg) {
  SessionId sessionId = msg.getSessionId();
  SessionType sessionType = msg.getSessionType();
  FromDeviceMsg inMsg = msg.getPayload();
  if (inMsg.getMsgType() == MsgType.SUBSCRIBE_ATTRIBUTES_REQUEST) {
    logger.debug("[{}] Registering attributes subscription for session [{}]", deviceId, sessionId);
    attributeSubscriptions.put(sessionId, new SessionInfo(sessionType, msg.getServerAddress()));
  } else if (inMsg.getMsgType() == MsgType.UNSUBSCRIBE_ATTRIBUTES_REQUEST) {
    logger.debug("[{}] Canceling attributes subscription for session [{}]", deviceId, sessionId);
    attributeSubscriptions.remove(sessionId);
  } else if (inMsg.getMsgType() == MsgType.SUBSCRIBE_RPC_COMMANDS_REQUEST) {
    logger.debug("[{}] Registering rpc subscription for session [{}][{}]", deviceId, sessionId, sessionType);
    rpcSubscriptions.put(sessionId, new SessionInfo(sessionType, msg.getServerAddress()));
    sendPendingRequests(context, sessionId, sessionType, msg.getServerAddress());
  } else if (inMsg.getMsgType() == MsgType.UNSUBSCRIBE_RPC_COMMANDS_REQUEST) {
    logger.debug("[{}] Canceling rpc subscription for session [{}][{}]", deviceId, sessionId, sessionType);
    rpcSubscriptions.remove(sessionId);
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:20,代码来源:DeviceActorMessageProcessor.java


示例6: update

import akka.actor.ActorContext; //导入依赖的package包/类
public Optional<ActorRef> update(ActorContext context, RuleId ruleId, ComponentLifecycleEvent event) {
  RuleMetaData rule;
  if (event != ComponentLifecycleEvent.DELETED) {
    rule = systemContext.getRuleService().findRuleById(ruleId);
  } else {
    rule = ruleMap.keySet().stream().filter(r -> r.getId().equals(ruleId))
        .peek(r -> r.setState(ComponentLifecycleState.SUSPENDED)).findFirst().orElse(null);
    if (rule != null) {
      ruleMap.remove(rule);
      ruleActors.remove(ruleId);
    }
  }
  if (rule != null) {
    RuleActorMetaData actorMd = ruleMap.get(rule);
    if (actorMd == null) {
      ActorRef ref = getOrCreateRuleActor(context, rule.getId());
      actorMd = RuleActorMetaData.systemRule(rule.getId(), rule.getWeight(), ref);
      ruleMap.put(rule, actorMd);
    }
    refreshRuleChain();
    return Optional.of(actorMd.getActorRef());
  } else {
    log.warn("[{}] Can't process unknown rule!", ruleId);
    return Optional.empty();
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:27,代码来源:RuleManager.java


示例7: processToDeviceMsg

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void processToDeviceMsg(ActorContext context, ToDeviceMsg msg) {
  try {
    if (msg.getMsgType() != MsgType.SESSION_CLOSE) {
      switch (msg.getMsgType()) {
      case STATUS_CODE_RESPONSE:
      case GET_ATTRIBUTES_RESPONSE:
        ResponseMsg responseMsg = (ResponseMsg) msg;
        if (responseMsg.getRequestId() >= 0) {
          logger.debug("[{}] Pending request processed: {}", responseMsg.getRequestId(), responseMsg);
          pendingMap.remove(responseMsg.getRequestId());
        }
        break;
      }
      sessionCtx.onMsg(new BasicSessionActorToAdaptorMsg(this.sessionCtx, msg));
    } else {
      sessionCtx.onMsg(org.iotp.analytics.ruleengine.common.msg.session.ctrl.SessionCloseMsg
          .onCredentialsRevoked(sessionCtx.getSessionId()));
    }
  } catch (SessionException e) {
    logger.warning("Failed to push session response msg", e);
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:24,代码来源:ASyncMsgProcessor.java


示例8: processToAssetMsg

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void processToAssetMsg(ActorContext context, ToDeviceMsg msg) {
  try {
    if (msg.getMsgType() != MsgType.SESSION_CLOSE) {
      switch (msg.getMsgType()) {
      case STATUS_CODE_RESPONSE:
      case GET_ATTRIBUTES_RESPONSE:
        ResponseMsg responseMsg = (ResponseMsg) msg;
        if (responseMsg.getRequestId() >= 0) {
          logger.debug("[{}] Pending request processed: {}", responseMsg.getRequestId(), responseMsg);
          pendingMap4Asset.remove(responseMsg.getRequestId());
        }
        break;
      }
      sessionCtx.onMsg(new BasicSessionActorToAdaptorMsg(this.sessionCtx, msg));
    } else {
      sessionCtx.onMsg(org.iotp.analytics.ruleengine.common.msg.session.ctrl.SessionCloseMsg
          .onCredentialsRevoked(sessionCtx.getSessionId()));
    }
  } catch (SessionException e) {
    logger.warning("Failed to push session response msg", e);
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:24,代码来源:ASyncMsgProcessor.java


示例9: pushToNextRule

import akka.actor.ActorContext; //导入依赖的package包/类
private void pushToNextRule(ActorContext context, ChainProcessingContext ctx, RuleEngineError error) {
  if (error != null) {
    ctx = ctx.withError(error);
  }
  if (ctx.isFailure()) {
    logger.debug("[{}][{}] Forwarding processing chain to device actor due to failure.", ruleMd.getId(),
        ctx.getInMsg().getDeviceId());
    ctx.getDeviceActor().tell(new RulesProcessedMsg(ctx), ActorRef.noSender());
  } else if (!ctx.hasNext()) {
    logger.debug("[{}][{}] Forwarding processing chain to device actor due to end of chain.", ruleMd.getId(),
        ctx.getInMsg().getDeviceId());
    ctx.getDeviceActor().tell(new RulesProcessedMsg(ctx), ActorRef.noSender());
  } else {
    logger.debug("[{}][{}] Forwarding processing chain to next rule actor.", ruleMd.getId(),
        ctx.getInMsg().getDeviceId());
    ChainProcessingContext nextTask = ctx.getNext();
    nextTask.getCurrentActor().tell(new RuleProcessingMsg(nextTask), context.self());
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:20,代码来源:RuleActorMessageProcessor.java


示例10: onActivate

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void onActivate(ActorContext context) throws Exception {
  logger.info("[{}] Going to process onActivate rule.", entityId);
  this.state = ComponentLifecycleState.ACTIVE;
  if (filters != null) {
    filters.forEach(RuleLifecycleComponent::resume);
    if (processor != null) {
      processor.resume();
    } else {
      initProcessor();
    }
    if (action != null) {
      action.resume();
    }
    logger.info("[{}] Rule resumed.", entityId);
  } else {
    start();
  }
}
 
开发者ID:osswangxining,项目名称:iotplatform,代码行数:20,代码来源:RuleActorMessageProcessor.java


示例11: onUpdate

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void onUpdate(ActorContext context) throws Exception {
    PluginMetaData oldPluginMd = pluginMd;
    pluginMd = systemContext.getPluginService().findPluginById(entityId);
    boolean requiresRestart = false;
    logger.info("[{}] Plugin configuration was updated from {} to {}.", entityId, oldPluginMd, pluginMd);
    if (!oldPluginMd.getClazz().equals(pluginMd.getClazz())) {
        logger.info("[{}] Plugin requires restart due to clazz change from {} to {}.",
                entityId, oldPluginMd.getClazz(), pluginMd.getClazz());
        requiresRestart = true;
    } else if (!oldPluginMd.getConfiguration().equals(pluginMd.getConfiguration())) {
        logger.info("[{}] Plugin requires restart due to configuration change from {} to {}.",
                entityId, oldPluginMd.getConfiguration(), pluginMd.getConfiguration());
        requiresRestart = true;
    }
    if (requiresRestart) {
        this.state = ComponentLifecycleState.SUSPENDED;
        if (pluginImpl != null) {
            pluginImpl.stop(trustedCtx);
        }
        start();
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:24,代码来源:PluginActorMessageProcessor.java


示例12: sendPendingRequests

import akka.actor.ActorContext; //导入依赖的package包/类
private void sendPendingRequests(ActorContext context, SessionId sessionId, SessionType type, Optional<ServerAddress> server) {
    if (!rpcPendingMap.isEmpty()) {
        logger.debug("[{}] Pushing {} pending RPC messages to new async session [{}]", deviceId, rpcPendingMap.size(), sessionId);
        if (type == SessionType.SYNC) {
            logger.debug("[{}] Cleanup sync rpc session [{}]", deviceId, sessionId);
            rpcSubscriptions.remove(sessionId);
        }
    } else {
        logger.debug("[{}] No pending RPC messages for new async session [{}]", deviceId, sessionId);
    }
    Set<Integer> sentOneWayIds = new HashSet<>();
    if (type == SessionType.ASYNC) {
        rpcPendingMap.entrySet().forEach(processPendingRpc(context, sessionId, server, sentOneWayIds));
    } else {
        rpcPendingMap.entrySet().stream().findFirst().ifPresent(processPendingRpc(context, sessionId, server, sentOneWayIds));
    }

    sentOneWayIds.forEach(rpcPendingMap::remove);
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:20,代码来源:DeviceActorMessageProcessor.java


示例13: processPendingRpc

import akka.actor.ActorContext; //导入依赖的package包/类
private Consumer<Map.Entry<Integer, ToDeviceRpcRequestMetadata>> processPendingRpc(ActorContext context, SessionId sessionId, Optional<ServerAddress> server, Set<Integer> sentOneWayIds) {
    return entry -> {
        ToDeviceRpcRequest request = entry.getValue().getMsg().getMsg();
        ToDeviceRpcRequestBody body = request.getBody();
        if (request.isOneway()) {
            sentOneWayIds.add(entry.getKey());
            ToPluginRpcResponseDeviceMsg responsePluginMsg = toPluginRpcResponseMsg(entry.getValue().getMsg(), (String) null);
            context.parent().tell(responsePluginMsg, ActorRef.noSender());
        }
        ToDeviceRpcRequestMsg rpcRequest = new ToDeviceRpcRequestMsg(
                entry.getKey(),
                body.getMethod(),
                body.getParams()
        );
        ToDeviceSessionActorMsg response = new BasicToDeviceSessionActorMsg(rpcRequest, sessionId);
        sendMsgToSessionActor(response, server);
    };
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:19,代码来源:DeviceActorMessageProcessor.java


示例14: processSubscriptionCommands

import akka.actor.ActorContext; //导入依赖的package包/类
private void processSubscriptionCommands(ActorContext context, ToDeviceActorMsg msg) {
    SessionId sessionId = msg.getSessionId();
    SessionType sessionType = msg.getSessionType();
    FromDeviceMsg inMsg = msg.getPayload();
    if (inMsg.getMsgType() == MsgType.SUBSCRIBE_ATTRIBUTES_REQUEST) {
        logger.debug("[{}] Registering attributes subscription for session [{}]", deviceId, sessionId);
        attributeSubscriptions.put(sessionId, new SessionInfo(sessionType, msg.getServerAddress()));
    } else if (inMsg.getMsgType() == MsgType.UNSUBSCRIBE_ATTRIBUTES_REQUEST) {
        logger.debug("[{}] Canceling attributes subscription for session [{}]", deviceId, sessionId);
        attributeSubscriptions.remove(sessionId);
    } else if (inMsg.getMsgType() == MsgType.SUBSCRIBE_RPC_COMMANDS_REQUEST) {
        logger.debug("[{}] Registering rpc subscription for session [{}][{}]", deviceId, sessionId, sessionType);
        rpcSubscriptions.put(sessionId, new SessionInfo(sessionType, msg.getServerAddress()));
        sendPendingRequests(context, sessionId, sessionType, msg.getServerAddress());
    } else if (inMsg.getMsgType() == MsgType.UNSUBSCRIBE_RPC_COMMANDS_REQUEST) {
        logger.debug("[{}] Canceling rpc subscription for session [{}][{}]", deviceId, sessionId, sessionType);
        rpcSubscriptions.remove(sessionId);
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:20,代码来源:DeviceActorMessageProcessor.java


示例15: processToDeviceMsg

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void processToDeviceMsg(ActorContext context, ToDeviceMsg msg) {
    try {
        if (msg.getMsgType() != MsgType.SESSION_CLOSE) {
            switch (msg.getMsgType()) {
                case STATUS_CODE_RESPONSE:
                case GET_ATTRIBUTES_RESPONSE:
                    ResponseMsg responseMsg = (ResponseMsg) msg;
                    if (responseMsg.getRequestId() >= 0) {
                        logger.debug("[{}] Pending request processed: {}", responseMsg.getRequestId(), responseMsg);
                        pendingMap.remove(responseMsg.getRequestId());
                    }
                    break;
                default:
                    break;
            }
            sessionCtx.onMsg(new BasicSessionActorToAdaptorMsg(this.sessionCtx, msg));
        } else {
            sessionCtx.onMsg(org.thingsboard.server.common.msg.session.ctrl.SessionCloseMsg.onCredentialsRevoked(sessionCtx.getSessionId()));
        }
    } catch (SessionException e) {
        logger.warning("Failed to push session response msg", e);
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:25,代码来源:ASyncMsgProcessor.java


示例16: processClusterEvent

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void processClusterEvent(ActorContext context, ClusterEventMsg msg) {
    if (pendingMap.size() > 0 || subscribedToAttributeUpdates || subscribedToRpcCommands) {
        Optional<ServerAddress> newTargetServer = systemContext.getRoutingService().resolveById(getDeviceId());
        if (!newTargetServer.equals(currentTargetServer)) {
            firstMsg = true;
            currentTargetServer = newTargetServer;
            pendingMap.values().forEach(v -> {
                forwardToAppActor(context, v, currentTargetServer);
                if (currentTargetServer.isPresent()) {
                    logger.debug("[{}] Forwarded msg to new server: {}", sessionId, currentTargetServer.get());
                } else {
                    logger.debug("[{}] Forwarded msg to local server.", sessionId);
                }
            });
            if (subscribedToAttributeUpdates) {
                toDeviceMsg(new AttributesSubscribeMsg()).ifPresent(m -> forwardToAppActor(context, m, currentTargetServer));
                logger.debug("[{}] Forwarded attributes subscription.", sessionId);
            }
            if (subscribedToRpcCommands) {
                toDeviceMsg(new RpcSubscribeMsg()).ifPresent(m -> forwardToAppActor(context, m, currentTargetServer));
                logger.debug("[{}] Forwarded rpc commands subscription.", sessionId);
            }
        }
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:27,代码来源:ASyncMsgProcessor.java


示例17: processClusterEvent

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void processClusterEvent(ActorContext context, ClusterEventMsg msg) {
    if (pendingResponse) {
        Optional<ServerAddress> newTargetServer = forwardToAppActorIfAdressChanged(context, pendingMsg, currentTargetServer);
        if (logger.isDebugEnabled()) {
            if (!newTargetServer.equals(currentTargetServer)) {
                if (newTargetServer.isPresent()) {
                    logger.debug("[{}] Forwarded msg to new server: {}", sessionId, newTargetServer.get());
                } else {
                    logger.debug("[{}] Forwarded msg to local server.", sessionId);
                }
            }
        }
        currentTargetServer = newTargetServer;
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:17,代码来源:SyncMsgProcessor.java


示例18: pushToNextRule

import akka.actor.ActorContext; //导入依赖的package包/类
private void pushToNextRule(ActorContext context, ChainProcessingContext ctx, RuleEngineError error) {
    if (error != null) {
        ctx = ctx.withError(error);
    }
    if (ctx.isFailure()) {
        logger.debug("[{}][{}] Forwarding processing chain to device actor due to failure.", ruleMd.getId(), ctx.getInMsg().getDeviceId());
        ctx.getDeviceActor().tell(new RulesProcessedMsg(ctx), ActorRef.noSender());
    } else if (!ctx.hasNext()) {
        logger.debug("[{}][{}] Forwarding processing chain to device actor due to end of chain.", ruleMd.getId(), ctx.getInMsg().getDeviceId());
        ctx.getDeviceActor().tell(new RulesProcessedMsg(ctx), ActorRef.noSender());
    } else {
        logger.debug("[{}][{}] Forwarding processing chain to next rule actor.", ruleMd.getId(), ctx.getInMsg().getDeviceId());
        ChainProcessingContext nextTask = ctx.getNext();
        nextTask.getCurrentActor().tell(new RuleProcessingMsg(nextTask), context.self());
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:17,代码来源:RuleActorMessageProcessor.java


示例19: onActivate

import akka.actor.ActorContext; //导入依赖的package包/类
@Override
public void onActivate(ActorContext context) throws Exception {
    logger.info("[{}] Going to process onActivate rule.", entityId);
    this.state = ComponentLifecycleState.ACTIVE;
    if (filters != null) {
        filters.forEach(RuleLifecycleComponent::resume);
        if (processor != null) {
            processor.resume();
        } else {
            initProcessor();
        }
        if (action != null) {
            action.resume();
        }
        logger.info("[{}] Rule resumed.", entityId);
    } else {
        start();
    }
}
 
开发者ID:thingsboard,项目名称:thingsboard,代码行数:20,代码来源:RuleActorMessageProcessor.java


示例20: processEndpointEventDeliveryMessage

import akka.actor.ActorContext; //导入依赖的package包/类
void processEndpointEventDeliveryMessage(ActorContext context,
                                         EndpointEventDeliveryMessage message) {
  LOG.debug("[{}] processing event delivery message for [{}] with status {}",
      userId, message.getMessage().getAddress(),
      message.getStatus());
  boolean success = message.getStatus() == EventDeliveryStatus.SUCCESS;
  RouteTableAddress address = message.getMessage().getAddress();
  for (EndpointEvent event : message.getMessage().getEndpointEvents()) {
    if (success) {
      LOG.debug("[{}] registering successful delivery of event [{}] to address {}",
          userId, event.getId(), address);
      eventDeliveryTable.registerDeliverySuccess(event, address);
    } else {
      LOG.debug("[{}] registering failure to delivery of event [{}] to address {}",
          userId, event.getId(), address);
      eventDeliveryTable.registerDeliveryFailure(event, address);
    }
  }
}
 
开发者ID:kaaproject,项目名称:kaa,代码行数:20,代码来源:LocalUserActorMessageProcessor.java



注:本文中的akka.actor.ActorContext类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SpeculatorEvent类代码示例发布时间:2022-05-22
下一篇:
Java DelegationTokenRenewer类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap