NH> Masters of R4 specification,
NH> I am reading chapter 3.8.3 to 3.8.5, and also making observations from the 
so
NH> called reference implementation, Equinox.
NH> If I create a bundle which uses javax.swing, but don't declare that in the
NH> Import-Package, it will still workas in Equinox and the way I interpret the
NH> spec that is wrong.
Not really ... Equinox uses the org.osgi.framework.bootdelegation
property and sets it to *, that is why you can see the boot classpath.
In my opinion, this is bad practice because it means you can run a
faulty bundle on Equinox and not get an error.

So a bundle that uses javax.swing and does not import is a faulty
bundle. However, it should run when the
org.osgi.framework.bootdelegation is set to *. :-(

NH> IMHO, this is a typical interoperability problem, that it is very 
unfortunate
NH> the Reference Implementation exposes. Many bundles that works on Equinox 
does
NH> not work on Knopflerfish and/or Felix, as they seem to interpret the 
NH> specification similarily to how I read it.
Also on these frameworks you can set the
org.osgi.framework.bootdelegation property, so the portability is
related to a setting, not the spec or RI.

In a way it is an error of the build tools you are using because they
do not specify an import, or verify the imports. This is one of the
reasons I developed bnd.

The purpose of the org.osgi.framework.bootdelegation property is
to support a VM bug and some tricky code that has dependencies on the
bootclasspath. However, as you observed, Felix seems to be able to run
with the org.osgi.framework.bootdelegation property unset. It is kind
of sad that the proper behavior is displaying the problem ...

Kind regards,

     Peter Kriens



NH> I also feel confident that the "defense" of the RI would be "user 
NH> convenience", but it is definitely the wrong way to go about it. Convenience
NH> can not come at the expense of large number of incompatible bundles, and 
that
NH> the platform has to be tweaked to accommodate for the bundles that think 
they
NH> are accurate since they run on the Ref Impl.


NH> The same test can be run by;

NH> java -jar $EQ/plugins/org.eclipse.osgi_3.3.0.v20070208.jar -console -clean

osgi>> install http://www.ops4j.org/~niclas/equinox-test-1.0.0-SNAPSHOT.jar


NH> I am interested to hear from the open source actors, their views on 
NH> interoperability of bundles out of the box and what we can do about the
NH> current situation. If nothing is done real soon, we are ending up in the 
same
NH> mess as servlet engines and ear application servers.


NH> Cheers


-- 
Peter Kriens                              Tel +33467542167
9C, Avenue St. Drézéry                    AOL,Yahoo: pkriens
34160 Beaulieu, France                    ICQ 255570717
Skype pkriens                             Fax +1 8153772599

_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

Reply via email to