Browse files

Added TODO

Updated README
  • Loading branch information...
djpowell committed Oct 31, 2010
1 parent 4bb056a commit 74119cf118ac2035764810c02062a03071a9a95b
Showing with 40 additions and 1 deletion.
  1. +24 −1 README.TXT
  2. +16 −0 TODO.txt
@@ -1,3 +1,15 @@
+Start a Clojure REPL connected to any running Java or Clojure process
+without needing the process to be setup in any special way beforehand.
+Now supports connecting to Tomcat web applications.
+You can use the repl to run code, inspect variables, and
+redefine Clojure functions.
Clojure Live REPL - 2009-10-18
David Powell <>
@@ -34,9 +46,20 @@ process ids, enter:
-To connect a repl shell to a running Java process, enter:
+To see the available ClassLoaders for a specific process, enter:
liverepl <pid>
+ -- where the pid is the process id for the process, obtained in
+ the step above.
+To connect a repl to the process, enter:
+ liverepl <pid> <classloader-id>
-- where the pid is the process id for the process.
+ -- and the classloader-id was obtained in the step above.
+ if you aren't sure which ClassLoader to use, try '0', which
+ will always be the System ClassLoader.
@@ -0,0 +1,16 @@
+* The ClassLoaderDiscovery stuff is a bit heavy-weight, and gets permanently loaded into the target
+ process. If the target process is long-running, and we upgrade liverepl, then the changes to
+ liverepl won't get picked up as the old class will already be loaded.
+ Make the agent very minimal, and load the discovery stuff in a separate ClassLoader so that it can
+ be discarded. The ClassLoaderRegistry will need to be kept in the apps ClassLoader though, to ensure
+ that we can refer to the ClassLoader that the user has specified earlier.
+* Provide a flag for unloading the ClassLoaderRegistry
+* Factor out the server-killer stuff that is currently in Agent and repl.clj
+* Support other repls
+* Find a way of connecting to a target that is running as a system service on Windows.

0 comments on commit 74119cf

Please sign in to comment.