我收到非常奇怪的“文件过早结束”。 我们的一台服务器上最近几天的异常。 相同的配置XML在另一台服务器上可以正常工作。 我们在这两个服务器上都使用Tomcat 5.0.28。 这段代码已经使用了7年以上,只有最近的服务器崩溃后,我们才在其中一台服务器上遇到此问题。 XML和Java解析代码没有变化。 :(
我唯一看到的区别是Java版本-
问题服务器Java版本“ 1.6.0_16”Java(TM)SE运行时环境(内部版本1.6.0_16-b01)Java HotSpot(TM)64位服务器VM(内部版本14.2-b01,混合模式)
工作服务器Java版本“ 1.6.0_07”Java(TM)SE运行时环境(内部版本1.6.0_07-b06)Java HotSpot(TM)64位服务器VM(内部版本10.0-b23,混合模式)
这是已经使用了几年的Java代码-
private void readSource(final InputSource in ) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(in);
Element elt = doc.getDocumentElement();
this.readElement( elt );
} catch ( Exception ex ) {
ex.printStackTrace();
throw new ConfigurationException( "Unable to parse configuration information", ex );
}
}
这是例外。
[Fatal Error] :-1:-1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.circus.core.Configuration.readSource(Configuration.java:706)
我已经尝试验证XML,但没有发现错误。 知道我还能在哪里寻找可能的问题吗?
任何指针将不胜感激!
TIA,-Manish