【发布时间】:2013-08-10 02:48:27
【问题描述】:
我在服务器上使用码头“7.6.8.v20121106”作为https://github.com/ring-clojure/ring/tree/master/ring-jetty-adapter 的一部分。
我正在使用http://http-kit.org/ 使用以下代码拨打电话。本质上,我正在进行服务器调用,但忽略了响应。我发现在那之后所有服务器线程都被阻塞/死锁。这似乎是一种非常简单的方法来关闭服务器并想了解这里发生了什么。
来自客户端的代码是:
(require '[org.httpkit.client :as hk-client])
(defn hget [id]
(hk-client/get (str "http://localhost:5000/v1/pubapis/auth/ping?ping=" id)))
(doall (map hget (take 100 (range))))) ; Gives problem
(doall (map deref (map hget (take 100 (range)))))) ; Doesn't give problem
线程阻塞在
sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
并在
处陷入僵局java.io.PrintStream.write(PrintStream.java:479)
如果有人能帮助解决这里发生的事情,我将不胜感激。
【问题讨论】:
标签: clojure jetty embedded-jetty ring http-kit