我正在使用 TwitterServer 设置一个新的休息服务器,它似乎阻止了一个新的 api 调用,直到前一个调用完成。
以下是对https://twitter.github.io/twitter-server文档中基本代码的简单修改:
import com.twitter.finagle.{Http, Service}
import com.twitter.finagle.http.{Request, Response, Status}
import com.twitter.server.TwitterServer
import com.twitter.util.{Await, Future, FuturePool}
object BasicServer extends TwitterServer {
val service = new Service[Request, Response] {
def apply(request: Request): Future[Response] = {
FuturePool.unboundedPool {
Thread.sleep(10000)
val response = Response(request.version, Status.Ok)
response.contentString = "hello"
response
}
}
}
def main(): Unit = {
val server = Http.serve(":8888", service)
onExit {
server.close()
()
}
Await.ready(server)
()
}
}
如果我尝试多次调用http://localhost:8888,由于某种原因,第一次调用会阻止第二次调用。知道为什么会这样吗?