建议为Play应用程序加载大型查找表/索引的方法

时间:2013-11-13 12:16:59

标签: scala playframework playframework-2.0

我是Play框架的新手。

我有一个命令行应用程序(在Java中),它在内存中加载一个大索引(大约6GB),然后用于快速查找。我正在尝试使用Play框架(Scala)添加一个REST包装器。

我的问题是有关于我应该在何处以及如何处理此索引的加载的任何建议/最佳实践,以便它在启动时只执行一次并在整个应用程序生命周期中保持活动状态?

感谢。

2 个答案:

答案 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
  }
}