aaarrrgh !! no dice :-(

Clojure.lang Compiler and RT conspire to return a new DCL every time
you deref the Compiler/LOADER var :

user=> @clojure.lang.Compiler/LOADER
#<DynamicClassLoader clojure.lang.DynamicClassLoader@b78915>
user=> @clojure.lang.Compiler/LOADER
#<DynamicClassLoader clojure.lang.DynamicClassLoader@1fd10fa>
user=> @clojure.lang.Compiler/LOADER
#<DynamicClassLoader clojure.lang.DynamicClassLoader@56d149>
...

you can get in underneath this, by setting up the ContextClassLoader -
then this will be used as the new DCL's parent - however DCL inherits
from URLCLassLoader whose implementation of defineClass it uses
happily without delegating it to its parent, so I am [currently]
unable to intercept via this strategy.

I have an old spring/aspectj load-time-weaving example that I am now
seriously considering dusting off to catch and stash the byte code
using an aspect server-side.

The same strategy may well be useful client-side to reroute lookups
that the current DCL cannot satisfy to a URLCLassLoader which resolves
the Class via an http request to the server.

I think this is my remaining best shot. If I have time, I shall try to
put a proof of concept together tomorrow. If I have any success, I'll
let the group know.

thanks for all your help,


Jules

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to