根据 Akka 文档, aDeadLetterActorRef
是:
死信服务的默认实现,Akka 将所有目的地已关闭或不存在的消息路由到该服务。
如果我想“利用”演员被终止后发送的死信,我是否只是以某种方式“挂钩”它DeadLetterActorRef
并让它把它收到的所有东西都传递给我?还是我将其子类化?还是我做一些完全不同的事情?不管怎样,怎么办?
根据 Akka 文档, aDeadLetterActorRef
是:
死信服务的默认实现,Akka 将所有目的地已关闭或不存在的消息路由到该服务。
如果我想“利用”演员被终止后发送的死信,我是否只是以某种方式“挂钩”它DeadLetterActorRef
并让它把它收到的所有东西都传递给我?还是我将其子类化?还是我做一些完全不同的事情?不管怎样,怎么办?
您可以在事件流上侦听死信事件。像这样的东西:
import akka.actor._
class DeadLetterListener extends Actor {
override def preStart {
context.system.eventStream.subscribe(self, classOf[DeadLetter])
}
override def postStop {
context.system.eventStream.unsubscribe(self)
}
def receive = {
case DeadLetter(msg, from, to) =>
//handle the deadletter here
}
}