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