tipos que lectura intervencion ejemplos contextos contexto concepto comunicacion scala playframework websocket actor chatroom

scala - lectura - que es el contexto de intervencion



¿Error al encontrar el contexto de valor? (3)

importar akka.actor

Consulte esta url https://groups.google.com/forum/#!msg/akka-user/4eYJWKWhAe8/TTAIOAI-uaIJ

def join(username: String): scala.concurrent.Future[(Iteratee[JsValue, _], Enumerator[JsValue])] = { println("friend name in model" + username) val first = Akka.system.actorOf(Props[ChatRoom2], name = username) println("this is chat room two default") }

y cuando uso este val first = context.actorOf(Props[ChatRoom2],name=username)

Estoy usar esto para crear un actor secundario en una sala de chat diferente, pero muestra un contexto de valor de error no encontrado.


No puede acceder al context del actor desde una clase que no amplíe Actor . Debes extender Actor en la clase con método de join anterior (no solo ChatRoom2)


Cuando utiliza una referencia de system actor, está creando actores de "nivel superior", mientras que usar context crea "actores secundarios" de su actor actual. Esto significa que acceder al context solo tiene sentido desde dentro de un Actor .

Aquí hay un ejemplo:

val system = ActorSystem("name") val act = system.actorOf(classOf[SomeActor]) class SomeActor extends Actor { def receive = { case _ => val child = context.actorOf(...) } }

En este ejemplo, "acto" es un actor de "nivel superior", y "niño" es un hijo de "acto", porque fue creado por el contexto del acto.

¡Espero que esto ayude!

Para obtener más ayuda, consulte los documentos: http://doc.akka.io/docs/akka/2.3.1/scala/actors.html