[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Equinox boot delegation problem

From the 3.8.3 section of the specificaiton

Other packages that must be loaded from the boot class loader can therefore
be specified with the System property: org.osgi.framework.bootdelegation
This property must contain a list with the following format:
org.osgi.framework.bootdelegation ::= boot-description
( ',' boot-description )*
boot-description::= package-name // See 1.3.2
| ( package-name '.*' )
| '*'
The .* wildcard means deep matching. Packages that match this list must
be loaded from the parent class loader. The java.* prefix is always implied; it
does not have to be specified.


The specification text is pretty clear that we only match on package names, not class names. It is also clear that something like org.foo* is not allowed. Wild cards can only take the form of (package-name '.*') | '*'

Tom



Inactive hide details for "Richard S. Hall" ---04/13/2009 04:09:17 AM---On 4/13/09 4:41 AM, Stuart McCulloch wrote: 2009/4/13 R"Richard S. Hall" ---04/13/2009 04:09:17 AM---On 4/13/09 4:41 AM, Stuart McCulloch wrote: 2009/4/13 Richard S. Hall <


From:

"Richard S. Hall" <heavy@xxxxxxxxxxxxxx>

To:

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

Date:

04/13/2009 04:09 AM

Subject:

Re: [equinox-dev] Equinox boot delegation problem




On 4/13/09 4:41 AM, Stuart McCulloch wrote:
      2009/4/13 Richard S. Hall <heavy@xxxxxxxxxxxxxx>
        On 4/13/09 4:12 AM, Stuart McCulloch wrote:
            2009/4/13 Richard S. Hall <heavy@xxxxxxxxxxxxxx>
            This came up recently and we discussed it within CPEG. Felix is incorrect in interpreting sun.io.* as a match for sun.io.SomeClass.

            good to get a definitive answer, will the wildcard wording be improved in the 4.2 spec?
        Not sure about that.

            In other words, sun.io.* matches sub-packages of sun.io, but not sun.io itself. This will be corrected in a future version of Felix.

            so to match "org.foo" as well as it's sub-packages you should use "org.foo,org.foo.*"?
            (because if you use "org.foo*" then that could match against "org.foobar" as well...)

        Yes, but I think only trailing package-level wildcards are supported, e.g., org.foo.*, not org.foo*...

      ok, I think the 4.2 spec should really spell out what wildcards are supported and how they match

      should I open a bug to track this, or do you want to follow this up with CPEG?

If you feel it is not clear in the spec, then definitely open a bug at OSGi or at least bring it up on osgi-dev.

-> richard

GIF image

GIF image