-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
OK. Has anyone read about the JPDA 1.4 enhancements that have made it into JDK 1.4: http://java.sun.com/j2se/1.4/docs/guide/jpda/enhancements.html I am specifically talking about class redefinition. AKA the ability to recompile and update classes within a running JVM. This is done through JPDA and should support any application that runs within JDK 1.4. Some applications like Tomcat have class reloading built into them. This is primarily due to the fact that Java has not been able to redefine classes at runtime. What I want to do is build a new ant task named 'redefine' that takes a directory of .class files, compares it to a directory of deployed class files (if available) and redefines them. So for example one could: <redefine host="localhost" port="2112"> <new-classes> <fileset dir="../bin/classes" includes="**/*.class"/> </new-classes> </redefine> This would connect to localhost:2112 with JPDA and redefine every class under ../bin/classes. This isn't as easy as it sounds... there are some issues. Specifically if you have singleton classes, these will not be reloaded. In order to do this you have to pop entries off the stack before this class was used. Obviously in a lot of situations this is not desirable. We should have the ability to enable/disable this via pop-frames="false|true" (should be false by default) This should provide a significant increase in functionality for both server applications and developers. Developers could have compile, redefine, and test (with cactus or RPC style code) within seconds without having to wait for their ENTIRE application reload. Application server admins will be able to redefine necessary code without having to restart their application (think availability). Thought? I think this is a good idea. Of course I will contribute this to Apache if it is requested. The only other drawback is that this will require JDK 1.4 to compile. It might be a good idea to put this under a CONTRIB directory. Kevin - -- Kevin A. Burton ( [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] ) Location - San Francisco, CA, Cell - 415.595.9965 Jabber - [EMAIL PROTECTED], Web - http://relativity.yi.org/ Windows is easy to learn and hard to use, while *nix is hard to learn but easy to use. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Get my public key at: http://relativity.yi.org/pgpkey.txt iD8DBQE8Xa+YAwM6xb2dfE0RAkzYAKC/dLJws35YStdaVHTCdmnRGT92pgCeJaG6 260llFeSASt3UjOIPrhk4z8= =j4+F -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
