【发布时间】:2015-12-09 15:01:07
【问题描述】:
我目前正在迁移到 Play 2.4,但在向演员注入服务时遇到了问题。
我已将演员创建从 GlobalSettings.onStart 移至模块。
模块:
class MailerModule extends AbstractModule with AkkaGuiceSupport {
override def configure() = {
bindActor[Mailer]("mailer")
}
}
演员:
class Mailer @Inject() (service: MailService) extends Actor {
...
}
现在当我启动应用程序时出现错误:Error injecting constructor, java.lang.RuntimeException: There is no started application
at services.MailService.<init>(MailService.scala:14)
但是,如果我将 Logger 添加到演员类
class Mailer @Inject() (service: MailService) extends Actor {
Logger.info("Starting Mailer...")
...
}
没有错误。我不知道它为什么会这样。这看起来不是一个好的解决方案。还有其他吗?
编辑:它不起作用。看起来它是不确定的。我应该如何初始化它?
【问题讨论】:
标签: scala playframework playframework-2.4