private void handleSudoRetrieveThings(final SudoRetrieveThings rt, final Object msgToAsk) { LogUtil.enhanceLogWithCorrelationId(log, rt.getDittoHeaders().getCorrelationId()); log.info("Got '{}' message. Retrieving requested '{}' Things..", SudoRetrieveThings.class.getSimpleName(), rt.getThingIds().size()); final ActorRef sender = getSender(); PatternsCS.ask(targetActor, msgToAsk, Duration.ofSeconds(ASK_TIMEOUT)) .thenAccept(sourceRef -> handleSourceRef((SourceRef) sourceRef, rt.getThingIds(), rt, sender) ); }
@Override public Receive createReceive() { return ReceiveBuilder.create() // # handle "RetrieveThings" command .match(RetrieveThings.class, rt -> { LogUtil.enhanceLogWithCorrelationId(log, rt.getDittoHeaders().getCorrelationId()); log.info("Got '{}' message. Retrieving requested '{}' Things..", RetrieveThings.class.getSimpleName(), rt.getThingIds().size()); retrieveThings(rt, getSender()); }) // # handle "SudoRetrieveThings" command .match(SudoRetrieveThings.class, rt -> { LogUtil.enhanceLogWithCorrelationId(log, rt.getDittoHeaders().getCorrelationId()); log.info("Got '{}' message. Retrieving requested '{}' Things..", SudoRetrieveThings.class.getSimpleName(), rt.getThingIds().size()); retrieveThings(rt, getSender()); }) // # handle unknown message .matchAny(m -> { log.warning("Got unknown message: {}", m); unhandled(m); }) // # build PartialFunction .build(); }