远程akka演员不在游戏框架上工作

时间:2014-03-19 19:55:16

标签: scala playframework akka playframework-2.2

这是我关于stackoverflow的第一篇文章,英语不是我的母语,如果帖子中有错误,请道歉。

我正在尝试使用play框架运行远程actor,但我无法让它们正常工作。 它是一个简单的客户端 - 服务器系统,两个系统都在不同的项目中。

客户端控制器索引函数类似于:

val system = ActorSystem("MySystem")
val servidorRyP = system.actorSelection("akka.tcp://Servidor@127.0.0.1:5000/user/servidorRyP")
servidorRyP ! id.toString
客户端的conf文件中的

和akka配置:

#akka
akka.default-dispatcher.core-pool-size-max = 64
akka.debug.receive = on

akka {
actor {
//provider = "akka.remote.RemoteActorRefProvider"

}

如果我取消注释提供者文件,它会显示并显示错误:" NoSuchMethodException:akka.remote.RemoteActorRefProvider。",所以我留下了评论。

另一方面,服务器控制器声明了actor并启动它:

val system = ActorSystem("Servidor")
val servidor = system.actorOf(Props[ServidorRyP], name = "servidorRyP")

我可以从Server应用程序向actor发送消息,但我无法从客户端访问它。

服务器配置文件上的akka​​配置是:

akka {
actor {
//provider = "akka.remote.RemoteActorRefProvider"
deployment {
/servidorRyP {
remote = "akka.tcp://Servidor@127.0.0.1:5000"
}
}
}
}

当我在播放时执行两个应用程序(在不同的端口),在客户端之前启动服务器,它什么都不做,我的意思是客户端似乎执行代码,但服务器没有收到任何东西。

我正在使用Play for Mac,但据我所知,没有防火墙问题。

1 个答案:

答案 0 :(得分:0)

您是否在依赖项中添加了akka-remote?它默认不包括在内。

添加:

"com.typesafe.akka" %% "akka-remote" % "2.2.3"

到你的构建文件。