游戏框架和小应用程序



我有一个Scala的Play框架应用程序。它使用数据库,我需要在第一个应用程序启动之前将数据加载到数据库中。我想我可以在应用程序中添加一个带有主类的类,并像play -main loadDataClass一样启动它。它似乎正在工作,但一旦我访问Play.current.configuration,我需要这个来访问数据库凭据。我得到这个错误:

main线程异常java.lang.RuntimeException: There is no started application

请建议如何实现这一点。我应该以某种方式启动应用程序吗?

您需要创建一个用于在启动时加载数据的模块。在生产模式下(activator start),它将在应用程序启动后运行,在开发模式下(activator run),它将在向服务器发出第一个请求后运行。

创建模块
app/modules/PrepareDatabaseModule.scala:

在这个模块里面

package modules
import com.google.inject.AbstractModule
trait PrepareDatabase {}
class PrepareDatabaseClass extends PrepareDatabase {
  initialize() 
  def initialize() = {
    // Load your data here
  }
}
class PrepareDatabaseModule extends AbstractModule {
  def configure() = {
    bind(classOf[PrepareDatabase])
      .to(classOf[PrepareDatabaseClass]).asEagerSingleton
  }
}
在<<p> em> conf/application.conf :
play.modules.enabled += "modules.PrepareDatabaseModule"

相关内容

  • 没有找到相关文章

最新更新