【发布时间】:2016-06-07 13:16:05
【问题描述】:
我正在与 Play 合作! Scala 2.4 和我有一个由演员处理的 Websocket,如下所示:
object MyWebSocketActor {
def props(out: ActorRef) = Props(classOf[MyWebSocketActor], out)
}
class MyWebSocketActor @Inject()(out: ActorRef) extends Actor {
override def receive = {
case msg: String => out ! ("I received your message: " + msg)
case _ => out ! "I did not received your message: "
}
}
class MessagesController extends Controller {
def openSocket = WebSocket.acceptWithActor[String, String] { request => out =>
MyWebSocketActor.props(out)
}
}
它运作良好,但我想向它 (MyWebSocketActor) 发送来自其他参与者的一些消息,但我无法成功。
我尝试在我的应用程序以 AkkaGuiceSupport 开头时启动它,如下所示:bindActor[MyWebSocketActor]("MyWebSocketActor"),以便能够将其注入到其他参与者中,如下所示:(@Named("MyWebSocketActor") myWebSocketActor: ActorRef) 但我收到错误,因为我没有提供当我绑定演员时,ActorRef。
Guice 错误是:
No implementation for akka.actor.ActorRef was bound.
while locating akka.actor.ActorRef
for parameter 0 at controllers.MyWebSocketActor
我该怎么做?
【问题讨论】:
标签: scala playframework websocket akka actor