【问题标题】:Scala spray - init on server statupScala Spray - 在服务器启动时初始化
【发布时间】:2014-11-27 21:44:02
【问题描述】:

我想在喷雾服务器启动时从 JSON 文件中加载一些数据,怎么做?当服务器加载像 Servlet 的“init”方法时,我该如何编写代码?

【问题讨论】:

  • 抱歉,忘了...

标签: scala initialization server spray spray-json


【解决方案1】:

试试这个:

object Boot extends App {
    val jsonData: Option[String] = laodJsonFromFile()
    val service = system.actorOf(Props(classOf[YourServiceActor], jsonData), "YourServiceActor")
    implicit val timeout = Timeout(5.seconds)
    // start a new HTTP server on port 80 with our service actor as the handler
    IO(Http) ? Http.Bind(service, 0.0.0.0, 80)

    private def laodJsonFromFile() = // some code...
}

class YourServiceActor(jsonData: Option[String]) extends Actor {
    // ... your code
}

【讨论】:

  • 有什么可以向我保证在服务器开始响应请求之前加载数据吗?
【解决方案2】:

使用“对象”并在应用程序初始化时创建它时进行初始化。

【讨论】:

    【解决方案3】:

    您是如何启动您的 Spray 服务器的?

    假设您有一个启动服务器的主应用程序或应用程序,您可以在加载您的 Spray 路由之前编写 JSON 加载代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      相关资源
      最近更新 更多