我是Play框架的新手。
我有一个命令行应用程序(在Java中),它在内存中加载一个大索引(大约6GB),然后用于快速查找。我正在尝试使用Play框架(Scala)添加一个REST包装器。
我的问题是有关于我应该在何处以及如何处理此索引的加载的任何建议/最佳实践,以便它在启动时只执行一次并在整个应用程序生命周期中保持活动状态?
感谢。
答案 0 :(得分:0)
看看让你做初始化任务的Global对象, 链接到官方文档http://www.playframework.com/documentation/2.0.1/ScalaGlobal
答案 1 :(得分:0)
您可以将加载逻辑包装在自定义插件的onStart
方法中:
class IndexPLugin(app: Application) extends Plugin {
private var index:Index
override def onStart() {
// perform the loading here
// the app parameter gives you access to the application configuration
}
def queryData():Data {
// this public method gives your client access to the loaded data
}
}