2016-04-22 64 views
0

我有一個應用程序發送多個請求到我的spray-can 1.3.1服務器。並行執行方法

FireBug向我展示了這些請求是並行觸發的。

但是,在服務器上,這些請求嚴格按照順序處理。

我想我需要以某種方式配置噴霧服務器並行處理多個請求 - 但如何?

服務器啓動這樣的:

object Server extends SimpleRoutingApp{ 
    def main(args: Array[String]): Unit = { 
    implicit val system = ActorSystem() 
    startServer("0.0.0.0", port = 8080) { 
     get{ 
     pathSingleSlash { 
      complete{ 
      HttpEntity(
       MediaTypes.`text/html`, 
       Template.txt 
      ) 
.... 
+0

爲什麼你認爲請求在服務器上按順序處理?你的阿卡配置是什麼? – Aivean

回答

2

噴霧路由是同步的一個演員,你需要做別的事情,使之並行處理多個請求。

  1. 使用Detach directive:該指令將產生一個新的actor以處理該請求。
  2. 使用的actor-per-request

您還可以找到otherlinks在SO一下吧。