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.

 

Regards,

 

Michael

 

.
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.
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to