You conclusion sounds reasonable (fix your manifests to import the
necessary packages).  PDE still needs work to give you adequate
warnings/errors when you are using JRE packages for which you have not
specified a constraint on.  See
https://bugs.eclipse.org/bugs/show_bug.cgi?id=164188

Tom




|------------>
| From:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"Murphree, Michael" <[email protected]>                         
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"Equinox development mailing list" <[email protected]>                 
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |06/16/2009 10:48 AM                                                          
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |RE: [equinox-dev] FW: Classloader problem                                    
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|





Hi Tom,

We've been experimenting with the following properties:.

osgi.compatibility.bootdelegation=false
org.osgi.framework.bootdelegation=\
            com.ibm.jsse2, \
            com.ibm.jvm, \
            com.ibm.lang.management, \
            com.ibm.misc, \
            com.ibm.nio.cs, \
            com.ibm.oti.*, \
            com.ibm.security.*, \
            com.sun.jmx.*, \.
            javax.crypto, \
            javax.crypto.spec, \
            javax.management, \
            javax.management.*, \
            javax.naming, \
            javax.naming.*, \
            javax.net.ssl, \
javax.security.*, \
            javax.sql, \
javax.swing, \
javax.swing.*, \
            sun.awt, \
            sun.beans.editors, \
            sun.io, \.
            sun.management.*, \
            sun.misc, \
            sun.net, \
            sun.net.*, \
            sun.nio.*, \
            sun.reflect, \.
            sun.reflect.*, \,
            sun.rmi.*, \
            sun.security.*, \
            sun.text, \
            sun.text.resources, \
            sun.util.*

We've omitted the following from the list:
            javax.xml
            javax.xml.*
            org.w3c.dom
            org.xml.sax
            org.xml.sax.helpers

We had hoped to have our bundles use the XML bundles present in our stack.
We include the Orbit jar javax.xml_1.3.4.v200801282000.jar which exports
javax.xml.*, org.w3c.dom.* and the SAX packages.  When we include this
restriction to the classloading, we find our collection of bundles will not
start (although Equinox does), be it on J9 or the Sun VM.

For example, we are using PAX Logging bundles which include Log4J.  Log4J
code wants to parse its XML configuration files, yet the bundle it is in
does not import any of the XML packages.  Our thinking is that it is
receiving these XML packages implicitly through boot classloader
delegation.  When this restriction is lifted (the default condition) the
bundle works fine and is able to start and parse its configuration files.
In J9, however, we have other bundles that refuse to work when the XML
packages are permitted to come from boot classloader delegation.

While we believe this is now a development issue on our part (fix our
manifests), do our conclusions hold water?  Is there something else we
ought to try?

Additionally, is there something in the Eclipse IDE we can do to have it
warn us when our bundles get their XML goodies from the JRE instead of
other bundles?

Regards,

Michael Murphree
Compuware Corporation



From: [email protected] [
mailto:[email protected]] On Behalf Of Thomas Watson
Sent: Friday, June 05, 2009 3:52 PM
To: Equinox development mailing list
Subject: Re: [equinox-dev] FW: Classloader problem



Are you setting the configuration property
"org.osgi.framework.bootdelegation=*"? What version of Equinox do you use?
Anything version 3.3 or later should not be delegating class loads to the
VM first by default (unless you set explicitly set
org.osgi.framework.bootdelegation=*). If you use Import-Package for some
org.apache.* package and you get resolved to an export from a bundle then
you should load the content of the package from that bundle.

There is also a compatibility mode Equinox uses by default to delegate to
the parent (boot) class loader as a last resort if a class or resource
cannot be found by normal OSGi delegation. See
osgi.compatibility.bootdelegation in Eclipse help. If you set this
configuration property to false then this last resort delegation is
disabled. But even with this compatibility mode enabled you should be able
to load org.apache classes from the installed bundles instead of from the
VM by default. If you think Equinox is configured correctly in your
environment then I suggest you open a bug against Equinox and give us steps
to reproduce. Thanks.

Tom



Inactive hide details for "O'Flynn, Dennis" ---06/05/2009 12:34:09
PM---Anyone have any experience running Equinox using IBM J9"O'Flynn,
Dennis" ---06/05/2009 12:34:09 PM---Anyone have any experience running
Equinox using IBM J9? We are having some problems with using IBM J9 that we
don’t encounte


                                                                           
                                                                           
 From:             "O'Flynn, Dennis" <[email protected]>         
                                                                           
                                                                           
 To:               "Equinox development mailing list"                      
                   <[email protected]>                               
                                                                           
                                                                           
 Date:             06/05/2009 12:34 PM                                     
                                                                           
                                                                           
 Subject:          [equinox-dev] FW: Classloader problem                   
                                                                           






Anyone have any experience running Equinox using IBM J9? We are having some
problems with using IBM J9 that we don’t encounter with Sun’s JVM.


See below…



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



From: Hawkins, Joel
Sent: Friday, June 05, 2009 1:27 PM
To: O'Flynn, Dennis,
Subject: Classloader problem


Dennis -


In a nutshell - The J9 VM packages many javax xml extension jars and their
corresponding apache implementations in the library directory of the JRE.
Many of the same packages are supplied by bundles that ship with Eclipse. A
number of these bundles export packages without version numbers, and we
find ourselves running into class verification errors when the classes
provided by the JRE don't match those expected by the bundles. The Sun JVM
prepend the apache classes with com.sun., so the problem is partially
mitigated. However, for javax.* classes, the potential for trouble remains.


Is there a way to alter the contents of the system classpath during osgi
startup such that we can suppress these additional classes provided by J9
and resolve them from the bundles provided by Eclipse?


Cheers,


Joel


_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev





<<inline: graycol.gif>>

<<inline: ecblank.gif>>

<<inline: 2D849254.jpg>>

<<inline: 2D636464.jpg>>

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to