Frage

Ich habe eine Java-Web-Anwendung in einem Sun Java 6 JVM unter Tomcat ausgeführt wird. Gibt es eine Möglichkeit, einen scala oder Clojure REPL zur Lauf JVM befestigen?

Sobald die Webapp in Betrieb ist, in dem der Zusammenhang die Anrufe gemacht werden soll, bereits Setup in der laufenden VM. Daher kann dies in Berufung auf beliebige Java-Methodenaufrufe für inkrementelle, explorative Entwicklung und für die Fehlersuche sehr hilfreich sein.

War es hilfreich?

Lösung

Kopierte über die Antwort von der anderen Frage, wie pro Ihre Anfrage:

liverepl: Schließen Sie einen Clojure REPL Ausführen von Java oder Clojure Prozessen ohne spezielle Setup

Von der Website: Starten Sie eine verbunden Clojure REPL einem laufenden Java oder Clojure Prozess ohne den Prozess zu benötigen Setup in irgendeiner besonderen Weise im voraus zu sein. Jetzt unterstützt zu Tomcat Web-Anwendungen zu verbinden. Sie können die repl verwenden, um Code auszuführen, überprüfen Sie Variablen und Clojure Funktionen neu zu definieren.

https://github.com/djpowell/liverepl

Andere Tipps

Es gibt keine Möglichkeit, eine REPL zu einem bereits laufenden JVM zu befestigen, so dass Sie über das Problem nachdenken müssen rückwärts ...

Starten Sie den REPL auf dem Server, entweder wenn das Programm gestartet wird oder als Reaktion auf eine eingehende Client-Verbindung (unter Verwendung von zum Beispiel Telnet).

Es ist ein gutes Beispiel hier: http: / /blog.homecloud.ca/2010/03/scripster-interactive-scala-repl-using.html

Sie können auch eine Interpreter-Instanz in Ihrem Server hosten, setzen dann eine Web-Schnittstelle. Dies ist der Ansatz von http://www.simplyscala.com/


Wenn Sie denken an das Debuggen, dann würden Sie besser durch diese Antwort serviert werden: Drop in Interpreter während beliebig scala Codeort

Sie könnten diese verwenden: https://github.com/wirde/swank-inject

Damit können Sie einen Clojure repl zu einem laufenden Java-Prozess anhängen (mit Remote-Debugging aktiviert ist).

Sie sind auch eine Reihe von Klassen angeben können (Singletons), für die Fälle gefunden und auf ein Symbol in dem ers gebunden werden.

Für Scala REPL zu anderen JVM verbindet, einen Blick auf Scalive .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top