[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.

Reply via email to