Halka ve clojure kullanarak bir web uygulaması yazıyorum. Geliştirme sunucusu için jetty bağdaştırıcısını ve IDE için emacs/SLIME kullanıyorum. Sarma-yeniden yükleme yardımcı olurken, run-jetty slime seansı engeller ve ben ayrı bir terminal oturumunda çalıştırmak zorunda kalmadan onu başlatmak/durdurabilmek isterim. İdeal olarak, bir sunucu aracısı tanımlamak istiyorum ve sunucuyu aracının içinde başlatan/durduran start-server ve stop-server işlevlerini yerine getiriyorum. Mümkün mü?Clojure'da jetty sunucusunu nasıl durdurabilirim?
cevap
Ben genellikle aşağıdaki gibi görünür benim Halka uygulamasında bir çizgi var. Ayrıca, sunucumun yeniden tanımlanacağından endişelenmeden bu dosyayı yeniden derlememi sağlar.
user=> (.stop server)
ve
user=> (.start server)
Jetty belgelerinde Jetty'nin graceful shutdown hakkında bazı bilgiler vardır. Muhtemelen yeterli bilgi değil ama başlamanıza neden olabilir.
Henüz componentjure ile oynamaya başlamadım, ancak genel olarak Tomcat ile çalışmayı tercih ediyorum. Daha çok özellikli; diğer şeylerin yanı sıra, onu başlatmak ve kapatmak için iyi belgelenmiş bir API vardır, özel bir bağlantı noktasında kapatma komutunu dinler; Bunu yapmak için ant
görevleri vardır ve tabii ki bir Java uygulamasından da çağrılabilirler. Ne tür bir sihirbazın, REPL'i Web konteynerinin çalışan bir örneğine bağlamasıyla ne tür bir sihirbazlık yaptıklarını bilmiyorum ve otomatik sınıf yeniden yükleme gerçekleşirse nasıl olur da umarım bir başkası daha fazla bilgi sağlayabilecektir. Bu Çoğaltma kilitlenmesini önler
(defonce server (run-jetty #'my-app {:port 8080 :join? false}))
:
Eh, bu durumda, ben bile compojure kullanmıyorum, sadece ring.jetty.adapter kullanıyorum başlatmaya İskele: Ayrıca şöyle Repl de etkileşim sağlar sunucusu. Jetty ile gitme sebebi, her zaman yeniden derlemem gerekmiyor. –
Vay, Jetty bunu yapmana izin veriyor mu? Güzel. Bunu en kısa zamanda öğrenmek zorunda olacak. Teşekkürler! –
- 1. Katıştırılmış Jetty sunucusunu NCSARequestLog'u STDOUT
- 2. Jetty
- 3. Gömülü İskele - Jetty Sunucusunu başlattıktan sonra Bağlam Ekleme
- 4. Jetty
- 5. Dağıtıcıdan nasıl çıkabilirim (durdurabilirim)?
- 6. Gvim açma diyaloglarını nasıl durdurabilirim?
- 7. İlerleme çubuğu animasyonunu nasıl durdurabilirim?
- 8. Neo4j'deki düğümlerin hareketini nasıl durdurabilirim?
- 9. Gömme Jetty 9 - jetty-all.jar nerede?
- 10. Jetty IdleTimeout
- 11. Jetty Classpath,
- 12. Gömülü Jetty
- 13. Bir Dinleme sunucusunu Go
- 14. Geçerli DNS sunucusunu nasıl bulabilirim?
- 15. Jetty yapılandırması. ThreadPool
- 16. Eclipse'de Jetty kurma
- 17. D3 spline'ları kullanırken grafiklerin kırpıldığı nasıl durdurabilirim?
- 18. Test hatasından sonra jasmine.js'yi nasıl durdurabilirim?
- 19. 2B Karakterimi Hareket Sonrası Kaymadan Nasıl Durdurabilirim
- 20. SLIME REPL'de çalışan bir işlemi nasıl durdurabilirim?
- 21. CSS değerlerine göre jQuery animasyonunu nasıl durdurabilirim?
- 22. Delege zincirimi çökerterek özel durumları nasıl durdurabilirim?
- 23. gqG kullanırken Vim'i satırlara katılmayı nasıl durdurabilirim?
- 24. GC_CONCURRENT sık sık çalıştırmayı nasıl durdurabilirim?
- 25. Yeniden boyutlandırmada Emacs'in titremeyi nasıl durdurabilirim?
- 26. jetty: run, org.mortbay.jetty.webapp.WebAppContext
- 27. Web.xml'yi programlanabilir bir şekilde başlatmaya başladı jetty
- 28. OBIEE sunucusunu değiştirme
- 29. Jetty Dağıtım Emri
- 30. Netbeans 7 ve Jetty
Tam olarak aradığım şey! –
Bu hatayı alıyorum: Eşleşen alan bulunamadı: clojure.lang.PersistentList [Attre class java.lang.IllegalArgumentException] '. Herhangi bir fikir? – Tyler
Unutmayın, sorun, defonenin yeniden tanımlanmamasıydı - hayal et :) – Tyler