Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.3.16.3
Description
I'm using custom configuration providers following the suggestion of this post.
I figured out that my custom configuration provider needed access to the servlet-context so I patched the code in the Dispatcher class to let, in case the constructor is available, instantiate a ConfigurationProvider with the servlet-context as argument
private void init_CustomConfigurationProviders() { String configProvs = initParams.get("configProviders"); if (configProvs != null) { String[] classes = configProvs.split("\\s*[,]\\s*"); for (String cname : classes) { try { Class cls = ClassLoaderUtil.loadClass(cname, this.getClass()); ConfigurationProvider prov; try { Constructor constructor = cls.getConstructor(ServletContext.class); prov = (ConfigurationProvider)constructor.newInstance(servletContext); } catch (Exception e) { prov = (ConfigurationProvider)cls.newInstance(); } configurationManager.addContainerProvider(prov); } catch (InstantiationException e) { throw new ConfigurationException("Unable to instantiate provider: "+cname, e); } catch (IllegalAccessException e) { throw new ConfigurationException("Unable to access provider: "+cname, e); } catch (ClassNotFoundException e) { throw new ConfigurationException("Unable to locate provider class: "+cname, e); } } } }