[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [equinox-dev] FW: Classloader problem

As a follow up, we have a bit more information about our XML woes in Equinox on J9.  In trying to take the fix-the-manifests approach, we were still left with the problem of the JAXP API classloader design.  When JAXP factories load classes they use the current context classloader to do this.  Without anything else to change it, the thread's current context classloader in Equinox is usually DefaultClassLoader (the OSGi framework-level classloader, I think).  If I understand rightly, this classloader follows the standard parent delegation scheme and delegates to its parent, which would be the URLClassLoader in Equinox Main, whose parent is one of the three JRE classloaders.  J9 does have a bootclasspath override (-Xbootclasspath/p:{your-libraries-here}), which works well on 32-bit Windows, but seems to be ignored on AIX.


The net result is we don't have a good way of forcing third party libraries (like Log4J) to get their XML parsing needs taken care of by our bundles of javax.xml, Xerces and Xalan.    Consequently we started to take the approach of making our stack and our code live properly with what's available in the JRE.  In many cases, this is a problem of eliminating the use of convenience methods in the Apache libraries that now have JAXP and JAXB equivalents.  In some cases we've had to patch some of the libraries we use (like Apache Muse) to make this work.  Early results seem promising.







The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.