[ 
https://issues.apache.org/jira/browse/FELIX-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768469#action_12768469
 ] 

Richard S. Hall commented on FELIX-1792:
----------------------------------------

OBR tries to select the highest version among matching candidates, however 
there are cases where this might not be the case. For example, if you 
explicitly added the lower version resource to the set of resources to be 
resolved, then OBR would prefer the added resource over including another 
resource exporting a higher version of the package. Another example is if a 
lower version of the resource was already selected to resolve a different 
dependency of another resource being resolved, in that case OBR would favor the 
already selected resource rather than adding another resource exporting the 
same package again.

OBR tries to limit the number of bundles it is going to download. It is not 
random, although it may not be completely obvious.


> Felix OBR seems to just randomly choose one of the satisifed bundles if more 
> than one bundle meets the requirement
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-1792
>                 URL: https://issues.apache.org/jira/browse/FELIX-1792
>             Project: Felix
>          Issue Type: Bug
>          Components: Bundle Repository (OBR)
>    Affects Versions: felix-1.8.0
>         Environment: n/a
>            Reporter: david small99
>
> I have one bundle bundle1, which imports a package called com.obr.bundle
> Bundle1's manifest:
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.0
> Bundle-ManifestVersion: 2
> Bundle-Name: Bundle Plug-in
> Bundle-SymbolicName: com.obr.bundle1
> Bundle-Version: 1.0.0
> Export-Package: com.obr.bundle1
> Import-Package: com.obr.bundle;version="[1.2.0.999,3.2.2.bz]"
> There are two bundles in my repositories, bundler2 and bundle 3. Both of them 
> export package com.obr.bundle. Below are their manifest files.
> Bundle2
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.0
> Bundle-ManifestVersion: 2
> Bundle-Name: Bundle Plug-in
> Bundle-SymbolicName: com.obr.bundle2
> Bundle-Version: 1.0.0
> Bundle-Vendor: xxx
> Import-Package: a.b.c
> Export-Package: com.obr.bundle;version=3.2.2.blah
> Bundle3:
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.0
> Bundle-ManifestVersion: 2
> Bundle-Name: Bundle Plug-in
> Bundle-SymbolicName: com.obr.bundle3
> Bundle-Version: 1.0.0
> Import-Package: a.b.c
> Export-Package: com.obr.bundle;version=3.1
> As you can see, both bundle2 and bundle3 meet the requirements of bundle1. I 
> hope the highest package version, which is bundle2, is chosen by felix obr. 
> However, sometimes bundle 3 was chosen instead of bundle2. The behaviour is 
> random.
> Am I right to say that the Felix obr runtime just picks the first bundle that 
> meets the requirements and then stop searching for any more eligible bundles?
> Thanks

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to