“我每个进程有100个线程限制 . 所以当我超过这个限制时,我得到:java.lang.OutOfMemoryError:无法创建新的本机线程.Compojure正在使用jetty环适配器 . 是否有配置服务器一次只接受一百个线程到servlet?“
这里似乎有一个简洁的解决方案,但似乎已经过时了:
我把它放在我的project.clj中:
:dependencies [[org.clojure / clojure“1.6.0”] [compojure“1.1.8”] [ring / ring-json“0.3.1”] [c3p0 / c3p0“0.9.1.2”] [org.clojure /java.jdbc“0.2.3”] [cheshire“5.4.0”] [ring / ring-jetty-adapter“1.1.8”] [environ“0.2.1”] [hiccup“1.0.0”] [com .novemberain / monger“2.0.0”] [org.clojure / data.json“0.2.5”]]
我把它放在我的控制器文件中:
(:import [org.mortbay.thread.QueuedThreadPool])
...
(defn -main [](run-jetty app {:port(if(nil?(System / getenv“PORT”))8000; localhost或heroku?(Integer / parseInt(System / getenv“PORT”))):配置器#( . setThreadPool%(QueuedThreadPool.100))}))
当我尝试时,我得到:
线程“main”中的异常java.lang.IllegalArgumentException:无法解析类名:QueuedThreadPool,编译:
你能否向我推荐一些clojure插件注入我的库中的建议,以免在Heroku中为每个进程限制惊吓100个线程?