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 ?


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



Reply via email to