52North / WPS

**DEPRECATED** The 52°North Web Processing Service enables the deployment of geo-processes on the web in a standardized way.
GNU General Public License v2.0
63 stars 55 forks source link

Restarting WPS via Tomcat Manager fails #273

Open ridoo opened 5 years ago

ridoo commented 5 years ago

Restarting WPS via Tomcat Manager fails from time to time with Stacktrace:

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
        at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:200)
        at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:152)
        at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:232)
        at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:120)
        at se.jiderhamn.classloader.leak.prevention.preinit.DocumentBuilderFactoryInitiator.doOutsideClassLoader(DocumentBuilderFactoryInitiator.java:17)
        at se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventor$1.run(ClassLoaderLeakPreventor.java:86)
        at se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventor$2.run(ClassLoaderLeakPreventor.java:112)
        at java.security.AccessController.doPrivileged(Native Method)
        at se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventor.doInLeakSafeClassLoader(ClassLoaderLeakPreventor.java:109)
        at se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventor.runPreClassLoaderInitiators(ClassLoaderLeakPreventor.java:82)
        at se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventorListener.contextInitialized(ClassLoaderLeakPreventorListener.java:224)
        at se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventionContainerInitializer.onStartup(ClassLoaderLeakPreventionContainerInitializer.java:20)

Probably, this is a race condition of the se.jiderhamn leak preventer in cases a Geoserver instance is deployed next to WPS. Both use the shared xerces dependency from Tomcat's common lib directory.