首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs Cider REPL中的Ring -wrap

Emacs Cider REPL中的Ring -wrap
EN

Stack Overflow用户
提问于 2016-03-29 19:40:23
回答 2查看 427关注 0票数 2

当从Emacs Cider REPL中通过reload-wrap启动Ring服务器时,REPL阻塞。我该怎么做才能在开发过程中拥有这个代码重载功能,同时又能继续使用Cider REPL。

另外,在通过按C-C - C-c从REPL中取消正在运行的服务器“进程”后,我无法在相同的端口上重新启动它,我得到了“地址已在使用”错误。

我知道斯图尔特·塞拉的组件系统是可以做到的。这是唯一的方法,还是有一个更简单的解决方案?

EN

回答 2

Stack Overflow用户

发布于 2016-03-29 19:58:08

当您启动环服务器(我猜是使用jetty)时,您并没有告诉它不要将当前线程加入到正在运行的服务器中。您需要向false添加join?选项集

代码语言:javascript
复制
(run-jetty my-handler {:join? false})

您还应该绑定此表达式的返回值,它是服务器实例,以便您可以稍后停止它:

代码语言:javascript
复制
(def my-server (run-jetty my-handler {:join? false}))
;; some time later
(.stop my-server)

停止服务器将关闭服务器套接字,并使其可供将来的服务器实例使用。

票数 3
EN

Stack Overflow用户

发布于 2016-04-14 05:46:01

更简单的解决方案是,将web-server存储在dev/user.clj中的某个位置,就像组件一样。并配置cider-refresh-fn变量来启动和停止web服务器。实际上,idea和组件方法是一样的,但是你不需要使用它,

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36283251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档