Jor*_*mer 7 scala guice playframework playframework-2.0
在基于Scala的Play应用程序中,我正在尝试启动单例服务而无需向控制器发出请求.我按照2.4 API文档中的说明创建了一个单例类,然后使用Guice的依赖注入库将该类绑定为一个急切的单例.
即使有急切的绑定,在我通过控制器路由收到请求之后,单例仍然不会被调用.关于我做错了什么的任何想法?
package models
import com.google.inject.AbstractModule
import com.google.inject.name.Names
class MessageLogModule extends AbstractModule {
def configure() = {
bind(classOf[MessageLogService]).asEagerSingleton
}
}
Run Code Online (Sandbox Code Playgroud)
play.modules.enabled += "models.MessageLogModule"
Run Code Online (Sandbox Code Playgroud)
package models
import javax.inject._
@Singleton
class MessageLogService {
// Create a file to test
println("IN SINGLETON - CREATING NEW FILE")
val file = new java.io.File("howdy.txt")
file.createNewFile
}
Run Code Online (Sandbox Code Playgroud)
sbt compile run
Run Code Online (Sandbox Code Playgroud)
在我发出一个......之前,上面的单例不会被调用
curl http://localhost:9000/
Run Code Online (Sandbox Code Playgroud)
我想要的是MessageLogService在运行服务时启动而不是等待命令到达控制器路由.
归档时间: |
|
查看次数: |
2159 次 |
最近记录: |