0

我是 Play 框架的新手。

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

我的问题是关于我应该在哪里以及如何处理这个索引的加载,以便它在启动时只完成一次并且在整个应用程序生命周期中都存在,是否有任何建议/最佳实践?

谢谢。

4

2 回答 2

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
  }
}
于 2014-04-15T10:42:29.957 回答
0

看看 Global 对象,它让你做初始化任务,链接到官方文档http://www.playframework.com/documentation/2.0.1/ScalaGlobal

于 2013-11-13T12:24:13.203 回答