felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall" <he...@ungoverned.org>
Subject Re: Bootdelegation syntax and semantic
Date Wed, 22 Jul 2009 15:23:08 GMT
On 7/22/09 8:18 AM, Guillaume Sauthier wrote:
> Sahoo a écrit :
>> Guillaume,
>>
>> The earlier behavior was incorrect and it was fixed as:
>>
>> https://issues.apache.org/jira/browse/FELIX-1034
>> and
>> https://issues.apache.org/jira/browse/FELIX-1059
>
> I've seen this discussion that seems related:
> http://www.nabble.com/Interpretation-of-*-in-DynamicImport-Package-td23249684.html 
>
>
> Only for curiosity, I searched, with no success, the thread on 
> osgi-dev where there is a consensus around the '.*' semantic.
> Do you have any pointer for me ?

It is very explicit in R4.2:

    The .* wildcard means deep matching, that is, com.acme.*, matches
    any sub-package of package com.acme, however, it does not match
    com.acme.

Thanks for opening the issue, it will be fixed in the next release.

-> richard

>
>>
>> You guessed it right, a portable way to achieve bootdelegation for 
>> com.sun.corba and its subpackages is to specify like this:
>>
>> com.sun.corba, com.sun.corba.*
> Ok, I'll do that. I was writing 'com.sun.corba*' by pure lazyness :)
>>
>> I think com.sun.corba* is a bug and you should file a bug.
> Here it is: https://issues.apache.org/jira/browse/FELIX-1400
>
> Thanks for the comments
> --Guillaume
>>
>> Thanks,
>> Sahoo
>>
>> Guillaume Sauthier wrote:
>>> Hi all
>>>
>>> I have some questions about bootdelegation and dynamic import 
>>> package syntax and semantic.
>>>
>>> I did not find the spec very clear about the expected behavior of a 
>>> package pattern description ( 'com.sun.corba.*' for example).
>>> In previous versions of Felix (1.4.x at least), the package itself 
>>> ('com.sun.corba') was included "in the pattern", meaning that if a 
>>> bundle want to load 'com.sun.corba.Anything', it will be delegated 
>>> to the boot classloader. All subpackages matching the pattern will 
>>> also be delegated to the boot loader ('com.sun.corba.orb.Other').
>>>
>>> In current Felix (1.8.x), the package itself is no more delegated.
>>> This behavior has been observed for both bootdelegation and dynamic 
>>> import package.
>>>
>>> I was wondering what was the reason behind this change ?
>>>
>>> In my use case, I want to delegate the package itself AND the 
>>> subpackages. In previous versions of Felix I was describing this 
>>> using this pattern:
>>> 'com.sun.corba.*'
>>>
>>> Now, I have to describe my pattern in the following way:
>>> 'com.sun.corba*' Notice that I removed the '.' before the '*'
>>>
>>> I could also achieve the same result with this other description:
>>> 'com.sun.corba,com.sun.corba.*' but it seems odd (for me) to write 
>>> my package name twice ...
>>>
>>> Regarding the spec, the description format of a package/pattern 
>>> should be the following:
>>> package-name | package-name '.*' |  '*'
>>> So it seems that describing a package like 'com.sun.corba*' is wrong.
>>> But it works with Felix.
>>> Must I fill a bug ?
>>>
>>> What is the best interoperable way to describe bootdelegation ?
>>> What should I write ?
>>> Does someone know what works with Equinox ?
>>>
>>> Thanks
>>> --Guillaume
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message