sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konrad Windszus (Jira)" <j...@apache.org>
Subject [jira] [Comment Edited] (SLING-9210) Make DynamicClassloader behave deterministically in case several bundles export the same package
Date Tue, 17 Mar 2020 14:39:00 GMT

    [ https://issues.apache.org/jira/browse/SLING-9210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17060936#comment-17060936
] 

Konrad Windszus edited comment on SLING-9210 at 3/17/20, 2:38 PM:
------------------------------------------------------------------

As https://osgi.org/javadoc/r6/core/org/osgi/service/packageadmin/PackageAdmin.html#getExportedPackages(org.osgi.framework.Bundle)
is deprecated anyways, one should maybe leverage the new wiring spec (https://osgi.org/specification/osgi.core/7.0.0/framework.wiring.html)
instead. Still one would need to sort the results to make it behave more predictable.

[~cziegeler] WDYT? Does OSGi specify a particular order in case multiple bundles would satisfy
all requirements? I couldn't find anything in https://osgi.org/specification/osgi.core/7.0.0/framework.module.html#framework.module.resolvingprocess.


was (Author: kwin):
As https://osgi.org/javadoc/r6/core/org/osgi/service/packageadmin/PackageAdmin.html#getExportedPackages(org.osgi.framework.Bundle)
is deprecated anyways, one should maybe leverage the new wiring spec (https://osgi.org/specification/osgi.core/7.0.0/framework.wiring.html)
instead. Still one would need to sort the results to make it behave more predictable.
[~cziegeler] WDYT?

> Make DynamicClassloader behave deterministically in case several bundles export the same
package
> ------------------------------------------------------------------------------------------------
>
>                 Key: SLING-9210
>                 URL: https://issues.apache.org/jira/browse/SLING-9210
>             Project: Sling
>          Issue Type: Improvement
>    Affects Versions: Commons ClassLoader 1.4.4
>            Reporter: Konrad Windszus
>            Priority: Major
>             Fix For: Commons ClassLoader 1.4.6
>
>
> Currently in case several bundles export the same package (in different versions) the
first one is being picked in https://github.com/apache/sling-org-apache-sling-commons-classloader/blob/dedb69a9fb0f8cb2ebf3050560311739b9f00ce4/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java#L156,
but it is not described which one is the first one in https://osgi.org/javadoc/r6/core/org/osgi/service/packageadmin/PackageAdmin.html#getExportedPackages(org.osgi.framework.Bundle).
> Given that now it is possible to install the same bundle in multiple version (SLING-9172
and FELIX-6232) a better, more predictable logic should be chosen.
> I propose to always pick the highest exported version.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message