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.