[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 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).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.