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...
--kevan