Ich habe ein Clojure/Ring-Projekt, das zwei verschiedene App/Handler auf verschiedenen Ports (eine für eine API und eine für ein Web-Frontend) läuft. Sie teilen viel Code, aber jeder hat seinen eigenen Namespace, in dem er die gesamte Arbeit für diese Schnittstelle ausführt. Jetzt möchte ich dies als ein Servlet in Tomcat oder etwas ähnliches (muss wirklich in jedem Servlet-Container arbeiten) bereitstellen. Ich habe jedoch Probleme, weil es so aussieht, als ob Lein-Ring die Annahme macht, dass es nur einen Handler im Servlet geben wird. Zum Beispiel in meinem project.clj habe ich diese Zeile:clojure/lein/ring: Ich habe zwei Ringhandler, die verschiedene Sachen machen, wie verpacke ich das in ein Servlet?
:ring {:handler caribou.api/app
:servlet-name "caribou"
:init caribou.api/init}
Dies ist ideal für die api, aber jetzt was über das Frontend? Muss ich ein anderes Projekt erstellen, das dieses enthält, damit es einen eigenen Handler und ein eigenes Servlet haben kann? Läuft ein Servlet immer an einem Port?
Es gibt zwei Dinge, über die ich mir im Grunde nicht sicher bin: Ich komme nicht aus einem Java-Hintergrund, also bin ich mir nicht sicher, was mit dem Servlet-Ansatz passiert und welche Einschränkungen es hat genau genommen entspricht clojure dem Servlet-Paradigma genug, um dieses Projekt allgemein zu strukturieren.
Jede Hilfe wird geschätzt, danke!