5

我已阅读此文档https://doc.akka.io/docs/akka/current/general/message-delivery-reliability.html#dead-letters,其中说:

演员可以在事件流上订阅 akka.actor.DeadLetter 类,请参阅事件流了解如何做到这一点。

在 Event Stream 文档中:https ://doc.akka.io/docs/akka/current/event-bus.html#event-stream ,示例代码似乎是经典的 Akka,包akka.actor.ActorSystem不是akka.actor.typed.ActorSystem

import akka.actor.ActorRef;
import akka.actor.ActorSystem;

final ActorSystem system = ActorSystem.create("DeadLetters");
final ActorRef actor = system.actorOf(Props.create(DeadLetterActor.class));
system.getEventStream().subscribe(actor, DeadLetter.class);

但是在 Akka Typed 中,没有subscribe()akka.actor.typed.ActorSystem.eventStream().

4

1 回答 1

6

在创建了类型化 ActorSystem 和处理消息类型 DeadLetter 的类型化 Actor 之后,您应该能够订阅 EventStream,如下所示。

import akka.actor.typed.eventstream.EventStream;

system.eventStream().tell(new EventStream.Subscribe(DeadLetter.class, actor));
于 2019-12-15T01:17:22.410 回答