Tôi đang viết một ứng dụng web bằng cách sử dụng nhẫn và clojure. Tôi đang sử dụng bộ chuyển đổi cầu nối cho máy chủ phát triển và emacs/SLIME cho IDE. Trong khi wrap-reload không hỗ trợ, run-jetty chặn phiên slime của tôi và tôi muốn có thể bắt đầu/dừng nó theo ý muốn mà không cần phải chạy nó trong một phiên đầu cuối riêng biệt. Lý tưởng nhất, tôi muốn xác định một đại lý máy chủ và chức năng start-server và stop-server sẽ bắt đầu/dừng máy chủ bên trong tác nhân. Điều này có thể không?Làm thế nào để dừng máy chủ cầu nối trong clojure?
Trả lời
Tôi thường có một dòng trong ứng dụng của chiếc nhẫn của tôi trông giống như sau:
(defonce server (run-jetty #'my-app {:port 8080 :join? false}))
này ngăn khóa lên REPL. Nó cũng cho phép tôi biên dịch lại tệp này mà không lo lắng rằng máy chủ của tôi sẽ được xác định lại. Nó cũng cho phép bạn tương tác tại REPL như vậy:
user=> (.stop server)
và
user=> (.start server)
Tài liệu Jetty có một số thông tin về số graceful shutdown của Cầu tàu. Đó có thể là không đủ thông tin nhưng nó có thể giúp bạn bắt đầu.
Tôi chưa bắt đầu chơi với compojure, nhưng nói chung tôi thích làm việc với Tomcat hơn. Nó đầy đủ tính năng hơn; trong số những thứ khác, có một API được làm tài liệu để khởi động và tắt nó, nó lắng nghe lệnh tắt trên một cổng chuyên dụng; có các nhiệm vụ ant
để thực hiện điều này và tất nhiên chúng có thể được gọi từ một ứng dụng Java. Tôi chỉ không biết loại Compojure ma thuật nào kết nối REPL với một thể hiện đang chạy của thùng chứa Web, và nếu/làm thế nào nạp lại lớp tự động xảy ra ... hy vọng một người khác sẽ có thể cung cấp thêm thông tin.
Vâng, trong trường hợp này, tôi thậm chí không sử dụng compojure, tôi chỉ sử dụng ring.jetty.adapter để bắt đầu Jetty máy chủ. Lý do để đi với Jetty là vì vậy tôi không phải biên dịch lại mọi lúc. –
Wow, Jetty cho phép bạn làm điều đó? Mát mẻ. Sẽ phải học về điều đó sớm thôi. Cảm ơn! –
- 1. Làm thế nào để dừng máy chủ mongodb trên Windows?
- 2. Làm thế nào để dừng máy chủ RabbitMQ trên máy chủ cục bộ
- 3. Làm cách nào để dừng máy chủ Nghe trong Go
- 4. Làm thế nào để kết nối Sqlcmd với máy chủ?
- 5. Làm cách nào để dừng máy chủ heroku?
- 6. Clojure (aleph) phát hiện khi máy chủ ngắt kết nối
- 7. clojure/ring/jetty: Tôi đang sử dụng> máy chủ vòng lein. Làm thế nào để cấu hình thể hiện cầu nối được khởi tạo?
- 8. Java Dừng máy chủ Chủ đề
- 9. Selenium 2: Làm thế nào để kiểm tra xem máy chủ đang chạy và dừng máy chủ?
- 10. Làm thế nào để xác định ngắt kết nối máy chủ từ máy khách SignalR?
- 11. Làm thế nào để dừng gunicorn_django trong virtualenv?
- 12. Làm thế nào để dừng và khởi động lại máy chủ memcached?
- 13. Làm thế nào để dừng máy chủ web lốc xoáy bằng ctrl + c?
- 14. Khởi động máy chủ cầu nối nhúng cho tệp JAR
- 15. Làm thế nào để đăng nhập yêu cầu stdout trong máy chủ web Tornado?
- 16. Làm cách nào để dừng Jetty
- 17. Quy trình làm việc để khởi động lại máy chủ HTTP từ Clojure REPL
- 18. kết nối máy khách telnet dừng nhận dữ liệu, máy chủ vẫn đang gửi
- 19. Làm thế nào để kết nối máy khách Android với máy chủ cục bộ của máy chủ Apache (php) bên trong máy tính xách tay của tôi?
- 20. Sao chép Sql Server yêu cầu tên máy chủ thực để tạo kết nối tới máy chủ
- 21. Làm thế nào để kết nối android với máy chủ cơ sở dữ liệu MySql?
- 22. Làm cách nào để ngăn chặn tab "Máy chủ" của Eclipse lấy tiêu điểm khi khởi động/dừng máy chủ?
- 23. Cách thích hợp để lưu trữ kết nối toàn cầu trong Clojure là gì?
- 24. Máy chủ SQL. Làm thế nào để làm mới intellisense?
- 25. Làm thế nào để làm cho MongoDB máy chủ bắt đầu trên Linux Startup (CentOS)
- 26. Làm thế nào để dừng xây dựng trong Visual Studio?
- 27. Làm cách nào để dừng máy chủ node.js mà không làm hỏng quy trình?
- 28. Làm thế nào để thử một máy chủ web để thử nghiệm đơn vị trong Java?
- 29. Làm thế nào để ngăn chặn netty nghe và chấp nhận trên ổ cắm máy chủ
Chính xác những gì tôi đang tìm kiếm! –
Tôi nhận được lỗi này: 'Không tìm thấy trường phù hợp: bắt đầu cho lớp clojure.lang.PersistentList [Lớp bị ẩn java.lang.IllegalArgumentException]'. Bất kỳ ý tưởng? – Tyler
Đừng bận tâm, vấn đề là sự cố định không tái phạm - hãy tưởng tượng điều đó :) – Tyler