2010-11-28 12 views
1

Ich lese, dass es möglich ist, eine Verbindung zu einer Remote-Produktionsinstanz von Clojure über die REPL herzustellen.
Würdest du mir das bitte erklären? und wie es geht?
Was bedeutet "Instanz von Clojure"?Verbinden mit einer Remote-Instanz von Clojure

+0

Diese Frage gibt Ihnen (teilweise) Antwort: http://stackoverflow.com/questions/3126456/can-an-embedded-swank-clojure-repl-access-the-program-it-is-bedded-in – zoldar

Antwort

0

Ich denke, Sie wollen clojure.contrib.server-socket verwenden. Ich habe es nicht benutzt, also kann ich über die Referenz hinaus nichts sagen. Es gibt Beispiele auf der clojuredocs Seite.

1

Für REPL spezifisch, können Sie swank-clojure Bibliothek verwenden. Sobald Ihre Clojure-Anwendung ausgeführt wird und ein Swank-Server ausgeführt wird, können Sie eine Verbindung mit dem Emacs-Editor über das Paket SLIME herstellen.

Es gibt auch NetBeans IDE-Plugin enclojure, die genau die gleiche Funktionalität hat. Er hat einen Serverteil, den Sie in Ihre clojure-Anwendung aufnehmen und ausführen, und er hat einen Clientteil, der sich von NetBeans aus verbindet.

0

Die nächste Version von clojure-mode für Emacs wird es sehr einfach machen, sich mit entfernten Swank-Clojure-Instanzen sicher über einen SSH-Tunnel zu verbinden. Alles, was Sie tun müssen, ist eine Datei von Ihrem Remote-Projekt über Emacs Tramp zu öffnen und dann clojure-jack-in anrufen. Es wird einen Remote-Swank-Prozess starten, den Tunnel erstellen und Emacs/Slime verbinden.

Das ist nicht das Gleiche wie das, was Sie fragen, da es einen neuen Prozess startet, anstatt eine Verbindung zum bestehenden Produktionsprozess herzustellen. Allerdings wird sich Ihr Swank-Prozess sonst in der gleichen Umgebung befinden und es ist wahrscheinlich sicherer, dies auf diese Weise zu tun, als den Live-Produktionsprozess zu gefährden.