Scala spray - 在服务器启动时初始化

时间:2014-11-27 21:44:03

标签: scala initialization server spray spray-json

我想在喷涂服务器启动时从JSON文件加载一些数据,怎么做?如何在服务器加载时编写代码,例如" init" Servlets的方法?

3 个答案:

答案 0 :(得分:2)

试试这个:

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
}

答案 1 :(得分:1)

使用“object”并在应用程序初始化时创建needful。

答案 2 :(得分:1)

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

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