Clojure에서 부두 서버를 어떻게 중지합니까?
ring과 clojure를 사용하여 웹 애플리케이션을 작성 중입니다. 개발 서버에는 jetty 어댑터를 사용하고 IDE에는 emacs / SLIME를 사용하고 있습니다. wrap-reload가 도움이되지만 run-jetty는 내 슬라임 세션을 차단하므로 별도의 터미널 세션에서 실행할 필요없이 원하는대로 시작 / 중지 할 수 있기를 바랍니다. 이상적으로는 에이전트 내에서 서버를 시작 / 중지하는 서버 에이전트 및 기능 start-server 및 stop-server를 정의하고 싶습니다. 이것이 가능한가?
일반적으로 링 앱에 다음과 같은 줄이 있습니다.
(defonce server (run-jetty #'my-app {:port 8080 :join? false}))
이것은 REPL을 잠그는 것을 방지합니다. 또한 서버가 재정의 될 염려없이이 파일을 다시 컴파일 할 수 있습니다. 또한 REPL에서 다음과 같이 상호 작용할 수 있습니다.
user=> (.stop server)
과
user=> (.start server)
Jetty 문서에는 Jetty의 정상 종료 에 대한 정보가 있습니다. 정보가 충분하지 않을 수 있지만 시작하는 데 도움이 될 수 있습니다.
아직 compojure로 연주를 시작하지 않았지만 전반적으로 Tomcat과 함께 작업하는 것을 선호합니다. 더 많은 기능을 갖추고 있습니다. 무엇보다도 시작 및 종료를위한 잘 문서화 된 API가 있으며 전용 포트에서 종료 명령을 수신합니다. 이를 ant
수행하는 작업이 있으며 물론 Java 앱에서도 호출 할 수 있습니다. REPL을 웹 컨테이너의 실행중인 인스턴스에 연결하여 Compojure가 어떤 종류의 마법을 수행하는지 모르겠습니다. 자동 클래스 재로드가 발생하는지 여부와 방법은 ... 다른 사람이 더 많은 정보를 제공 할 수 있기를 바랍니다.
참조 URL : https://stackoverflow.com/questions/2706044/how-do-i-stop-jetty-server-in-clojure
'programing' 카테고리의 다른 글
Proguard 문제 "경고 : 익명 내부 클래스에 대한 InnerClasses 속성 무시" (0) | 2021.01.19 |
---|---|
다른 .EXE 파일을 실행하는 .BAT 파일의 명령 창 숨기기 (0) | 2021.01.19 |
마우스 오버시 툴팁이나 아이템 정보를 어떻게 표시합니까? (0) | 2021.01.19 |
리플렉션을 통해 activerecord 연결을 얻는 방법 (0) | 2021.01.19 |
exec가 하위 기능이있는 함수에서 작동하지 않는 이유는 무엇입니까? (0) | 2021.01.19 |