Like you said, this is already exactly what JBossAS does.
So, why would you need your own (bad) mechanism?
The way JBossAS does it is by having the notion of domains, which are shared among multiple classloaders.
e.g. classloader in a domain sees classes from other classloaders in that same (or parent) domain
Pushing your work into JBossAS, this should work out-of-the-box.
If you wanna create smaller environment than JBossAS, have a look at my MC demos which does exactly that:
* http://anonsvn.jboss.org/repos/jbossas/projects/demos/microcontainer/trunk/ -- bootstrap module