我正在使用ring和clojure编写一个Web应用程序。我使用 jetty 适配器作为开发服务器,使用 emacs/SLIME 作为 IDE。虽然wrap-reload确实有帮助,但run-jetty会阻止我的slime session ,我希望能够随意启动/停止它,而不必在单独的终端 session 中运行它。理想情况下,我想定义一个服务器代理和启动服务器和停止服务器函数,以启动/停止代理内的服务器。这可能吗?
最佳答案
我的 Ring 应用程序中通常有一行如下所示的内容:
(defonce server (run-jetty #'my-app {:port 8080 :join? false}))
这可以防止锁定 REPL。它还允许我重新编译该文件,而不必担心我的服务器将被重新定义。它还允许您在 REPL 上进行交互,如下所示:
user=> (.stop server)
和
user=> (.start server)
关于clojure - 如何在 Clojure 中停止 jetty 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706044/