Of course, another approach is for Geronimo to trash the classloader that OpenJPA was loaded in when the app is undeployed.
-Patrick On 7/17/07, robert burrell donkin <[EMAIL PROTECTED]> wrote:
On 7/17/07, Kevan Miller <[EMAIL PROTECTED]> wrote: > > On Jul 17, 2007, at 12:15 AM, Craig L Russell wrote: > > > > > On Jul 16, 2007, at 7:48 PM, Kevan Miller wrote: > > > >> > >> On Jul 16, 2007, at 10:26 PM, Pinaki Poddar wrote: > >> > >>> Just to clarify: > >>> I meant it should be the loader that loaded Person.class where > >>> Person is > >>> the persistence capable class, *not* > >>> org.apache.openjpa.enhance.PersistenceCapable.class.getClassLoader > >>> (). > >>> > >>> But testing in multi-classloader environment is required to > >>> validate any > >>> changes of this nature. > >> > >> Yes, that's how I interpreted your statement. My point is that if > >> SSN is a field of Person, the ClassLoader of SSN is not > >> necessarily the ClassLoader for Person. I'd be concerned that the > >> Person ClassLoader can't load SSN. In that case, your technique > >> wouldn't work... > > > > Just to clarify, if SSN is the type of a field of Person, the > > ClassLoader of Person.class must be able to load SSN (either itself > > or via a parent ClassLoader) or you will have a linkage error while > > loading Person. > > Craig, > You are correct. The declared type must be loadable. I was thinking > of an SSNImpl type which need not be. However, that's not really > relevant to the problem at hand... > > Pinaki, > I'm afraid that I may have improperly narrowed your objectives by > singling out fieldTypes. PCRegistry$Meta.pc and pcSuper could also > keep Classes/ClassLoaders alive... if there are several places where this may happen then perhaps try a variant on http://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk/src/java/org/apache/commons/logging/impl/WeakHashtable.java - robert
-- Patrick Linskey 202 669 5907
