【问题标题】:Akka 2.6 how to read `Dead Letters` in Akka Typed?Akka 2.6 如何在 Akka Typed 中阅读“死信”?
【发布时间】:2019-12-06 06:06:59
【问题描述】:

我已阅读此文档 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 中,akka.actor.typed.ActorSystem.eventStream() 中没有名为 subscribe() 的方法。

【问题讨论】:

    标签: akka actor dead-letter akka-typed actorsystem


    【解决方案1】:

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

    import akka.actor.typed.eventstream.EventStream;
    
    system.eventStream().tell(new EventStream.Subscribe(DeadLetter.class, actor));
    

    【讨论】:

      猜你喜欢
      • 2019-12-19
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      • 2021-01-30
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多