theme service should reset protocols handler at de-activation time
------------------------------------------------------------------
Key: NXP-6213
URL: https://jira.nuxeo.org/browse/NXP-6213
Project: Nuxeo Enterprise Platform
Issue Type: Bug
Components: Themes
Affects Versions: 5.4, 5.3.1
Reporter: Stéphane Lacoin
Priority: Major
Fix For: 5.4.1
At initialization time, theme is installing an URL stream URL handler factory
for handling with the 'nxtheme' protocol. As there is no de-installing logic in
place, next activation of the plugin will use an incorrect instance of the
factory (de-referenced class).
java.lang.IllegalStateException
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.nuxeo.theme.Manager$1.createURLStreamHandler(Manager.java:122)
at
org.nuxeo.common.utils.URLStreamHandlerFactoryInstaller$FactoryStack.createURLStreamHandler(URLStreamHandlerFactoryInstaller.java:139)
at java.net.URL.getURLStreamHandler(URL.java:1106)
at java.net.URL.<init>(URL.java:572)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at org.nuxeo.theme.Manager.initializeProtocols(Manager.java:111)
at org.nuxeo.theme.Manager.<clinit>(Manager.java:41)
at
org.nuxeo.theme.resources.ResourceManager.<init>(ResourceManager.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
Impacts are
* remove the use of the URLStreamHandlerFactoryInstaller (Manager) (This way of
initializing was introduced because of surefire bug (SUREFIRE-104). We can
safely remove this way of initializing because the bug is solved in the
surefire version we're using now (>=2.4))
* introduce the resetProtocols method that will remove the
"org.nuxeo.theme.protocol" and reset the handler cache (Manager)
* initialize and reset protocol handlers during service activation
(ThemeService)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets