在Play中注入应用程序和Play.current!骨架

时间:2016-08-09 15:25:12

标签: scala playframework

我有一个0xfffffffffffffffb注入了Actor并且在Application方法中

preStart

演员是使用override def preStart = { println(application) println(Play.current) } 中的bindActor创建的,所以它正在使用AkkaGuiceSupport

当我启动应用程序时,结果是在asEagerSingleton打印异常时定义了application

Play.current

play.api.DefaultApplication@59b04da4 [error] a.a.OneForOneStrategy - There is no started application akka.actor.ActorInitializationException: exception during creation ... Caused by: java.lang.RuntimeException: There is no started application 应用程序与注入的应用程序有什么不同吗?

1 个答案:

答案 0 :(得分:0)

如果没有更多的上下文,很难说出你可能会出错的地方,但如果你看看Play.current是如何实现的......那就需要调用:{{1 }}

跟随链:

上面的最后一行是应用程序设置的唯一位置,Play.start(application)会到达它,所以如果您获得该异常,那么您的应用程序尚未按照播放期望的方式启动

如果我不得不猜测,我会说你的演员在Play.current被调用之前的某个地方被初始化了。