Как интегрировать веб-приложения Clojure в Apache

Примечание

Учитывая, что этот ОП был написан около двух лет назад, вместо того, чтобы снова задавать тот же вопрос, мне интересно, существуют ли пошаговые инструкции, так что я могу интегрировать Noir или другое веб-приложение Clojure в Apache, будь то Jetty, Tomcat или что-то еще. Подобные инструкции существуют для Django, и я думаю, что понимаю, что Python запускается в случае Django как движок, а не как кольцевая структура, поэтому с веб-приложениями Clojure все сложнее.

Конец примечания

Я глубоко убежден. влюблен в Clojure, и Compojure кажется изящным веб-фреймворком.

Но все развалилось, когда я хотел развернуть свое приложение на обычном сервере приложений, таком как Tomcat, в качестве WAR. На самом деле мне пришлось написать собственные обработчики Ring для статических файлов и ресурсов, которые будут работать как на локальной Jetty, так и на Tomcat, потому что стандартные обработчики этого не сделали, и мне пришлось добавлять корень контекста везде вручную.

Я глубоко поражен тем, что мне пришлось написать весь этот код, чтобы создать простейшее вообразимое веб-приложение, которое будет работать как на Jetty, так и на Tomcat. У меня есть только три возможных объяснения этого:

  1. Никто не использует Clojure / Compojure для чего-либо, кроме локальной разработки с Jetty, то есть в производственной среде
  2. Все развертывают приложения Clojure / Compojure на выделенном Jetty без корневого контекста (как люди делают это с приложениями Node.js)
  3. Существует действительно простой способ обойти проблемы, с которыми я столкнулся, о которых я не знал

Что из этого, по вашему мнению, имеет место? Или это что-то еще?

Редактировать:

Обратите внимание, что создание файла войны - это простая задача с Maven / Leiningen, а не то, что я имею в виду. Мне интересно, что мне нужно написать так много кода, чтобы Compojure работал с Tomcat, базовые вещи, такие как обслуживание статических файлов и понимание корневого контекста, которые должны работать из коробки.

57
задан octopusgrabbus 13 May 2013 в 17:47
поделиться