Für Lernzwecke versuche ich eine einfache Play-Anwendung zu implementieren, die Daten von einem entfernten Akteur bekommt. Der Code für den Aktor lautet wie folgt:Play framework 2.0 - deadLetters anstelle eines Actors
Ich verpacke es in ein Glas und starten Sie es über die Befehlszeile. Wenn ich versuche, Nachrichten von einer Scala-Konsole, die von einem anderen Fenster aus geöffnet wurde, an diesen Akteur zu senden, funktioniert alles einwandfrei. Jetzt möchte ich den Schauspieler aus dem Play-Framework holen. Im Application
Objekt definiere ich die folgende Methode:
def numbers = Action {
Ok(views.html.numbers(Client.actor.path.name))
}
Dann in dem models
Paket definiere ich das Client-Objekt:
object Client {
import play.api.Play.current
val actor = Akka.system.actorFor("akka://[email protected]:2552/user/server")
}
Die numbers.html.scala
Datei:
@(message: String)
@main("Header") {
<h1>@message</h1>
}
So erwarte ich, dass Wenn ich zu 127.0.0.1:9000/numbers
gehe, würde ich eine Seite mit dem Pfad zum Server-Akteur bekommen. Stattdessen bekomme ich <h1>deadLetters</h1>
. Was mache ich falsch und wie soll das richtig gemacht werden?
Haben Sie schon aktiviert Remoting auf beiden Seiten hinzufügen? –
@ViktorKlang: Ich habe versucht, das Remoting im Play analog zu plain akka zu aktivieren, aber es gibt kein akka-remote-Paket, also habe ich 'java.lang.ClassNotFoundException: akka.remote.RemoteActorRefProvider' und bin mir nicht sicher, was sonst noch machen. –
Akka Docs sind ziemlich gut: http://doc.akka.io/docs/akka/2.0/scala/remoting.html –