我正在使用Play 2.4.3创建CQRS Web应用程序。我的简单问题是:我应该在哪里创建“全球”演员?例如:在哪里实例化/注入正在侦听来自查询端的事件的actor?
答案 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())
}
}