You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2010/10/20 19:30:46 UTC
[jira] Updated: (FELIX-2670) [Framework] Implicit boot delegation
doesn't delegate for external code in all cases
[ https://issues.apache.org/jira/browse/FELIX-2670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard S. Hall updated FELIX-2670:
-----------------------------------
Description:
When determining if a class is not from a bundle in ModuleImpl.isClassNotLoadedFromBundle() (terrible method name, by the way), it attempts to ignore all framework classes by checking if the target class' class loader is the same as the framework's class loader. This check is too broad since the framework's class loader is typically the app class loader, which means that any other code on the class path will not trigger implicit boot delegation.
You could argue that implicit boot delegation was intended for JRE code and this is ok. However, just by changing the framework launcher to use a different class loader for the framework, you would get implicit boot delegation for code on the class path, so it seems odd that we trigger it under one situation but not another.
Perhaps the simple solution is to not perform a class loader check, but to compare the package namespace (i.e., use org.apache.felix.framework to determine framework classes).
was:
When determining if a class is not from a bundle in ModuleImpl.isClassNotLoadedFromBundle() (terrible method name, by the way), it attempts to ignore all framework classes by checking if the target class' class loader is the same as the framework's class loader. This check it too broad since the framework's class loader is typically the app class loader, which means that any other code on the class path will not trigger implicit boot delegation.
You could argue that implicit boot delegation was intended for JRE code and this is ok. However, just by changing the framework launcher to use a different class loader for the framework, you would get implicit boot delegation for code on the class path, so it seems odd that we trigger it under one situation but not another.
Perhaps the simple solution is to not perform a class loader check, but to compare the package namespace (i.e., use org.apache.felix.framework to determine framework classes).
> [Framework] Implicit boot delegation doesn't delegate for external code in all cases
> ------------------------------------------------------------------------------------
>
> Key: FELIX-2670
> URL: https://issues.apache.org/jira/browse/FELIX-2670
> Project: Felix
> Issue Type: Bug
> Components: Framework
> Affects Versions: framework-3.0.5
> Reporter: Richard S. Hall
> Priority: Minor
> Fix For: framework-3.2.0
>
>
> When determining if a class is not from a bundle in ModuleImpl.isClassNotLoadedFromBundle() (terrible method name, by the way), it attempts to ignore all framework classes by checking if the target class' class loader is the same as the framework's class loader. This check is too broad since the framework's class loader is typically the app class loader, which means that any other code on the class path will not trigger implicit boot delegation.
> You could argue that implicit boot delegation was intended for JRE code and this is ok. However, just by changing the framework launcher to use a different class loader for the framework, you would get implicit boot delegation for code on the class path, so it seems odd that we trigger it under one situation but not another.
> Perhaps the simple solution is to not perform a class loader check, but to compare the package namespace (i.e., use org.apache.felix.framework to determine framework classes).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.