서로 다른 포트에서 실행되는 두 개의 별개의 app/handler를 가진 clojure/ring 프로젝트가 있습니다 (하나는 api 용이고 다른 하나는 웹 프론트 엔드 용입니다). 그것들은 많은 코드를 공유하지만 각각은 그 인터페이스에 특정한 모든 작업을 수행하는 자체 네임 스페이스를 가지고 있습니다. 이제는 tomcat이나 비슷한 (실제로는 모든 서블릿 컨테이너에서 작동해야하는) 서블릿으로 배포하고 싶습니다. 나는 lein-ring이 서블릿에 하나의 핸들러 만 있다는 가정을하기 때문에 문제가 있습니다. 예를 들어, 내 project.clj에서 나는이 줄을 가지고 있습니다 :clojure/lein/ring : 서로 다른 일을하는 두 개의 링 핸들러가 있는데, 이것을 서블릿에 어떻게 래핑합니까?
:ring {:handler caribou.api/app
:servlet-name "caribou"
:init caribou.api/init}
이것은 훌륭한 프론트 엔드는 무엇입니까? 자체 핸들러와 서블릿을 가질 수 있도록이 프로젝트를 포함하는 다른 프로젝트를 만들어야합니까? 서블릿은 항상 하나의 포트에서 실행됩니까?
기본적으로 잘 모르겠지만 두 가지가 있습니다. 자바 백그라운드에서 나오지 않으므로 서블릿 접근 방식과 그 한계점을 잘 모릅니다. 정확하게 clojure는 서블릿 패러다임으로 변환되어이 프로젝트를 일반적인 방식으로 구조화합니다.
도움 주시면 감사하겠습니다.