2016-04-22 66 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一下吧。