cglibs is one of the exceptional cases - it *has* to load from the classloader it was generated to be consistent.
Hibernate is the same league in this case as log4j, jbossaop, spring, xml-parsers, freemarker, velocity, whatever extenable/configurable library i can think of ;) /max
Hibernate is an exceptional case, it can be used as internal container library to provide EJB3 implementation and all libraries used by hibernate must be designed with this assumption too. CGLIB is designed to be used by container implementation, but it is very simple in our case, correct class loader is known at code generation time: persistentClass.getClassLoader() == proxy.getClass().getClassLoader() (subclass and superclass must be in the same class loader to avoid "IllegalAccessError" for package classes and methods) Class unloading is more complicated. But I see nothing wrong to design libraries without deployment assumption, it works for managed application without problems if deployment is correct(library is deployed with application itself) __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
-- -- Max Rydahl Andersen callto://max.rydahl.andersen Hibernate [EMAIL PROTECTED] http://hibernate.org JBoss Inc [EMAIL PROTECTED] ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ hibernate-devel mailing list hibernate-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hibernate-devel