registration (or unregistration) of a ScriptEngineFactory doesn't cause the 
ScriptEngineManager service to be re-registered
---------------------------------------------------------------------------------------------------------------------------

                 Key: SLING-1848
                 URL: https://issues.apache.org/jira/browse/SLING-1848
             Project: Sling
          Issue Type: Bug
          Components: Scripting
            Reporter: Justin Edelson
            Assignee: Justin Edelson
            Priority: Blocker
             Fix For: Scripting Core 2.0.12


ScriptEngineManagerFactory.refreshScriptEngineManager() handles the 
registration of an OSGi service of the ScriptEngineManager. This is used, 
amongst other places, by SlingScriptAdapterFactory.

However, refreshScriptEngineManager() is *only* called from activate() and 
getScriptEngineManager() (and in the latter case, only if the 
scriptEngineManager is null). Although bindScriptEngineManager() (and unbind) 
null out scriptEngineManager, they do not call refreshScriptEngineManager(). As 
a result, new ScriptEngineFactory services are not effective with this call 
sequence:

1) activate()
2) bindScriptEngineManager()
3) try adapting a script to a javax.servlet.Servlet

This can be worked around (albeit poorly IMHO) by going to the Configuration 
Status page in the web console because this causes getScriptEngineManager() to 
be called when scriptEngineManager is null, thus causing 
refreshScriptEngineManager() to be called.



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