首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >游戏框架和小应用程序

游戏框架和小应用程序
EN

Stack Overflow用户
提问于 2015-09-20 09:13:01
回答 1查看 93关注 0票数 1

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

线程"main“java.lang.RuntimeException中的异常:没有启动应用程序

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

EN

回答 1

Stack Overflow用户

发布于 2015-09-20 12:56:12

您需要创建一个模块,用于在启动时加载数据。在生产模式(激活器启动)中,它将在应用程序启动后运行,在开发模式(激活器运行)中,它将在对服务器的第一个请求之后运行。

创建模块

代码语言:javascript
运行
复制
app/modules/PrepareDatabaseModule.scala:

在这个模块内

代码语言:javascript
运行
复制
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
  }
}

在conf/应用中

代码语言:javascript
运行
复制
play.modules.enabled += "modules.PrepareDatabaseModule"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32677685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档