Hi,
I have now removed CGLIB entirely, and have replaced it with custom code
generation using the raw ASM library. As outlined previously, I created
a manual stub class in Java that "looks" like how I wanted it to be, and
then generated Java code that creates it using ASM. With a lot of
tinkering I think I managed to create a series of if/else/for switches
that can handle all cases.
I have tested it with Streamflow, and I can now update Streamflow
without classloader leaks in OSGi/Glassfish. So that's good!
I also took the time to drastically reduce the number of classloaders
and generated classes by having a cache during the application
instantiation phase. This cache is then discarded so that only the
application itself has the references. This has massively reduced the
footprint of a Qi4j application when running, which is good.
/Rickard
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev