Wir verwenden Akka mit Java, wenn Forward in einem ask
Callback verwenden wir keine Antwort jedoch bei der Verwendung tell
stattdessen funktioniert es ganz gut. Was ist der Unterschied?Java - Forward innerhalb Akka Schauspieler in fragen Rückruf
final Message message = Message.builder().build();
final ActorRef sender = getSender();
final ActorContext context = getContext();
PatternsCS.ask(actor, Command.builder().build(),
Timeout.durationToTimeout(Duration.create(5, TimeUnit.SECONDS))).thenAccept(result -> {
// do something with result
...
// 1: Does not work
actor.forward(message, context);
// 2: Does work
actor.tell(message, sender);
});
Auf dem Empfang Schauspieler, wenn getender()
im ersten Fall rufen wertet zum DeadLetterActorRef
im zweiten Fall es in ActorRef
zu dem übergebenen auswertet.
Warum funktioniert forward
hier nicht? Was ist der Unterschied zu tell(message, sender)
?