2014-04-11 7 views
3

Akka에서 데드 레터를 처리하기위한 추가 동작을 추가하려고합니다. 이 일을하는 가장 좋은 방법은 우리 자신의 데드 리스너를 구현하는 것이라고 생각합니다. 그러나 디폴트 데드 리스너 대신 우리 자신의 액터를 통합하는 방법에 대한 문서를 찾을 수는 없습니다.Akka - 사용자 정의 DeadLetterListener 액터 구현하기

(또는이 일에 대해 어떻게 이동하는 방법에 대한 모든 문서는 확장하거나 이러한 기본 구현의 동작을 오버라이드 (override)에 대한 또 다른 접근 방식이 거기 있습니까?

답변

7

당신은이에 대한 EventStream에 가입해야합니다.

import akka.actor.{ Actor, DeadLetter, Props } 

class Listener extends Actor { 
    def receive = { 
    case d: DeadLetter => println(d) 
    } 
} 

val listener = system.actorOf(Props(classOf[Listener])) 
system.eventStream.subscribe(listener, classOf[DeadLetter]) 
+1

고마워 - 이번에는 내 앞에! 또한 기본 리스너를 사용하지 않으려면 akka.conf에서''log-dead-letters = 0'을 설정해야합니다. – Numbat

관련 문제