• 1000 к go этому дочернему элементу передаются от
/user
и от
/
к
/user
. Я спрашиваю, потому что в учебнике IotSupervisor расширяет
AbstractBehavior<Void>
, и я предполагаю, что это нужно будет изменить на расширение
AbstractBehavior<DeviceManager.Command>
. Спасибо. [! [введите здесь описание изображения] [1]] [1]
РЕДАКТИРОВАТЬ: Чтобы обосновать это с помощью кода, я включил следующее:
package org.example;
import akka.actor.ActorRef;
import akka.actor.typed.ActorSystem;
import akka.http.javadsl.server.AllDirectives;
import akka.http.javadsl.server.HttpApp;
import akka.http.javadsl.server.Route;
import akka.util.Timeout;
import scala.concurrent.duration.FiniteDuration;
import static akka.pattern.PatternsCS.ask;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
public class Application extends AllDirectives {
public static class MinimalHttp extends HttpApp {
ActorRef deviceManagerActorRef;
@Override
protected Route routes() {
akka.actor.ActorSystem sys = this.systemReference.get();
return concat(
path("hello", () ->
get(() -> {
final Timeout timeout = Timeout.durationToTimeout(FiniteDuration.apply(5, TimeUnit.SECONDS));
CompletionStage<org.example.DeviceManager.DeviceRegistered> regged = ask(sys.guardian(), new DeviceManager.RequestTrackDevice("group", "dev1", null), timeout)
.thenApply(org.example.DeviceManager.DeviceRegistered.class::cast)
.thenApply(r -> {
System.out.println("payload>>>>>>"+r);
return r;
});
regged = ask(sys.guardian(), new DeviceManager.RequestTrackDevice("group", "dev1", null), timeout)
.thenApply(org.example.DeviceManager.DeviceRegistered.class::cast)
.thenApply(r -> {
System.out.println("payload>>>>>>"+r);
return r;
});
return complete("foo");
}
)));
}
}
public static void main(String[] args) throws Exception {
final ActorSystem typedSystem = ActorSystem.create(IotSupervisor.create(), "iot-sup");
akka.actor.ActorSystem sys = typedSystem.classicSystem();
final MinimalHttp server = new MinimalHttp();
server.startServer("localhost", 8080, sys);
}
}
Я сейчас получаю это:
11:27:40.134 [iot-sup-akka.actor.default-dispatcher-3] INFO akka.actor.LocalActorRef - Message [org.example.DeviceManager$RequestTrackDevice] from Actor[akka://iot-sup/temp/$a] to Actor[akka://iot-sup/user] was unhandled. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
11:27:40.134 [iot-sup-akka.actor.default-dispatcher-3] INFO akka.actor.LocalActorRef - Message [org.example.DeviceManager$RequestTrackDevice] from Actor[akka://iot-sup/temp/$b] to Actor[akka://iot-sup/user] was unhandled. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
в то время как я, по крайней мере, ожидаю, что creating group actor for group
будет зарегистрировано, а также информация о вновь созданном устройстве будет записана. [1]: https://i.stack.imgur.com/MjVZD.png