Hello.
I have several application installed on the same server. Each application in a
different context.
When reloading one application in the Tomcat manager I get the following error:
"Could not load DTDDVFactoryImpl". Why i that and how to avoid it?
The error only occours if I restart one application. If I restart the tomcat
container, I'm not getting the error. I'm not sure if the error occours
because the instance is not properly shutdown or because I have several
applications running using the same instance?
How can I avoid this error? Or how can I pick up an already created instance if
the code fails to create a DocumentBuilder builder object?
I have tried to put xerces.jar in "/apache-tomcat-5.5.25/shared/lib", but the
error below stills occours. I have also tried to remove xerces.jar from
tomcat/shared/lib and put it into each application lib: "/myApp1/WEB-INF/lib/",
but the error still occours when reloading one application.
Here is how I load the factory:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // here
I got the error
DocumentBuilder builder = factory.newDocumentBuilder();
org.w3c.dom.Document w3cDoc = builder.parse( new java.io.File( XMLSetupfile )
);
if ( w3cDoc != null ){
org.jdom.input.DOMBuilder domBuilder = new org.jdom.input.DOMBuilder();
org.jdom.Document doc = domBuilder.build( w3cDoc );
}
Any help would be appreciated.
Error:
INFO: Illegal access: this web application instance has been stopped already.
Could not load com.sun.org.apache.xerces.internal.impl.dv.dtd.DTDDVFactoryImpl.
The eventual following stack trace is caused by an error thrown for debugging
purposes as well as to attempt to terminate the thread which caused the illegal
access, and has no functional impact.
java.lang.IllegalStateException
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1248)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
at
com.sun.org.apache.xerces.internal.impl.dv.ObjectFactory.findProviderClass(ObjectFactory.java:403)
at
com.sun.org.apache.xerces.internal.impl.dv.ObjectFactory.newInstance(ObjectFactory.java:354)
at
com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance(DTDDVFactory.java:98)
at
com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance(DTDDVFactory.java:83)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.<init>(XML11Configuration.java:565)
at
com.sun.org.apache.xerces.internal.parsers.XIncludeParserConfiguration.<init>(XIncludeParserConfiguration.java:145)
at
com.sun.org.apache.xerces.internal.parsers.XIncludeParserConfiguration.<init>(XIncludeParserConfiguration.java:106)
at
com.sun.org.apache.xerces.internal.parsers.JAXPConfiguration.<init>(JAXPConfiguration.java:30)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.<init>(DocumentBuilderImpl.java:112)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:101)
at
module.oioxml.OIOXMLSetupParseXML.getInvoiceSetup(OIOXMLSetupParseXML.java:36)
...
Best regards
Jeppe