Я получаю очень странное сообщение "Преждевременный конец файла". исключение за последние несколько дней на одном из наших серверов. Тот же тот же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-битный сервер ВМ (сборка 14.2-b01, смешанный режим)
Рабочий сервер версия Java "1.6.0_07" Среда выполнения Java(TM) SE (сборка 1.6.0_07-b06) Java HotSpot(TM) 64-Bit Server 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 и не нашел там ошибок. Любая идея, где еще я могу искать возможную проблему?
Любые указатели будут высоко оценены!
ТИА, - Manish