Scala Play Framework,在哪里创建演员?

时间:2015-11-18 12:37:14

标签: scala playframework akka guice playframework-2.4

我正在使用Play 2.4.3创建CQRS Web应用程序。我的简单问题是:我应该在哪里创建“全球”演员?例如:在哪里实例化/注入正在侦听来自查询端的事件的actor?

1 个答案:

答案 0 :(得分:1)

您可以在Play控制器中实例化actor。

示例

import play.api.libs.concurrent.Akka

object Application extends Controller {

  def actorIgniter = Action {
    val myActor = Akka.system.actorOf(ActorClassName.props())
    Ok
  }

}

通过这种方式,您可以通过Play路由实例化ActorClassName调用actorIgniter方法。 您正在使用Play助手(play.api.libs.concurrent.Akka)来实例化Akka actor系统中的actor。

另一种方法可能是在Play Global对象中实例化主要角色。

object Global with GlobalSettings {

  override def onStart(app: Application) {
    Akka.system.actorOf(ActorClassName.props())
  }

}