"Tote Briefe", sobald die Akteure in den Router gestellt werden

Hier ist, was ich finde, und für mein Leben kann ich nicht zum Grund navigieren. Ich erstelle "Drucker" -Darsteller, die entweder nichts tun oder eine Nachricht basierend auf dem Typ der empfangenen Nachricht drucken.

class Printer extends Actor {
    def receive = {
        case m: SomeMessage => println( m.text )
        case _ =>
    }
}

Ich erstelle mehrere dieser Schauspieler:

val actor4 = system.actorOf(Props[Printer], "t-4")
val actor5 = system.actorOf(Props[Printer], "t-5")
val actor6 = system.actorOf(Props[Printer], "t-6")

und sie in einen Vektor werfen:

val routees2 = Vector[ActorRef](actor4, actor5, actor6)

Ich mache das oben genannte, damit ich sie in einen Router werfen kann (und sie werden unter der Kontrolle des Routers sein). Wenn ich die Spezifikation bis zu diesem Punkt laufen lasse, habe ich keine Probleme. Sobald ich sie in einen Router stecke und die Spezifikation starte, habe ich Probleme. Hier ist der Router:

val router = system.actorOf(Props[Printer].withRouter(
    BroadcastRouter(routees = routees2)), "router-to-transformers")

Jetzt, wenn ich die Spezifikation laufen lasse, habe ich alle möglichen toten Buchstaben ...

[INFO] [09/23/2013 17:10:21.468] [spider-akka.actor.default-dispatcher-6] [akka://spider/user/router-to-transformers] Message [akka.dispatch.sysmsg.DeathWatchNotification] from Actor[akka://spider/user/router-to-transformers#-1845250548] to Actor[akka://spider/user/rout
er-to-transformers#-1845250548] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [09/23/2013 17:10:21.468] [spider-akka.actor.default-dispatcher-6] [akka://spider/user/router-to-transformers] Message [akka.dispatch.sysmsg.DeathWatchNotification] from Actor[akka://spider/user/router-to-transformers#-1845250548] to Actor[akka://spider/user/rout
er-to-transformers#-1845250548] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [09/23/2013 17:10:21.468] [spider-akka.actor.default-dispatcher-6] [akka://spider/user/router-to-transformers] Message [akka.dispatch.sysmsg.DeathWatchNotification] from Actor[akka://spider/user/router-to-transformers#-1845250548] to Actor[akka://spider/user/rout
er-to-transformers#-1845250548] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

Für das Leben von mir kann ich nicht herausfinden, was hier los ist. Ich habe einen Link zu einem Testausschnitt hinzugefügt. Die Nummerierung im Snippet ist seltsam, weil ich eine Reihe von verschiedenen Versuchen ausgeschnitten habe, die auskommentiert wurden, um das Snippet nicht zu überladen. Ich konzentriere mich auf dieses Problem mit toten Briefen, weil ich das Gefühl habe, als ich weitere Schauspieler hinzufügte und tatsächlich anfing, Nachrichten zu verbreiten, wurden die Dinge nicht zugestellt ...http://snipt.org/AhVf0

Es lohnt sich, darauf hinzuweisen, dass diese Schauspieler vor Ort sind. Ich habe etwas über actorFor gelesen, das abgeschrieben wird, und ich frage mich, ob dies verwendet wird und zum Teil meine Probleme verursacht. Es gibt hier so viele bewegliche Teile und nicht viel stabile, UMFASSENDE Dokumentation. Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage