Roy Teeuwen created SLING-13207:
-----------------------------------

             Summary: RhinoJavaScriptEngineFactory has a stale 
NativeJavaPackage permanently cached even when a bundle restarts
                 Key: SLING-13207
                 URL: https://issues.apache.org/jira/browse/SLING-13207
             Project: Sling
          Issue Type: Bug
    Affects Versions: Scripting JavaScript 3.1.4
            Reporter: Roy Teeuwen


Rhino scripting permanently fails to resolve Java classes (e.g. 
org.apache.sling.api.resource.ValueMap) even when the class becomes available 
again.

This happens because there is a single shared rootScope that is reused by every 
ScriptEngine instance. If at creation of that rootScope, the DynamicClassLoader 
that is used does not have access to the class, it will wrongly cache the class 
as a NativeJavaPackage org.apache.sling.api.resource.ValueMap instead of 
NativeJavaClass causing a ClassNotFoundException when the ValueMap is used 
(e.g. in /libs/sling/sightly/js/internal/resource.js)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to