Загрузка внешних xsd и dtd делает мое приложение долгим временем запуска - PullRequest
1 голос
/ 12 апреля 2010

Я разрабатываю веб-приложение с использованием плиток и Spring MVC. С использованием проверки xsd и dtd для определения плиток и объявления bean-компонента spring mvc каждый раз, когда веб-приложение запускается / перезапускается, запросы отправляются на внешний сервер для файлов xsd и dtd. Я заметил это, потому что мое веб-приложение не запустилось случайно из-за неудачного запроса на внешний сервер (!!!). Интересно, есть ли способ заставить мое приложение прекратить это делать? Например, поместить куда-нибудь кэшированную версию этих файлов или указать процессору Xml не проверять эти файлы XML во время выполнения?

1 Ответ

1 голос
/ 04 марта 2011

Я сталкиваюсь с подобной проблемой (но с файлами xsd.) После небольшого исследования выясняется, что обычно foo-1.0.jar будет содержать foo-schema-1.0.xsd, и поэтому foo проверяет свой foo-config.xml, ему не нужно запрашивать xsd в Интернете.

Проблема возникает при обновлении до foo-1.1.jar (который включает в себя новый foo-schema-1.1.xsd) без изменения вашего foo-config.xml для ссылки на новую версию схемы. foo-1.1.jar не содержит foo-schema-1.0.xsd, поэтому анализатор ищет его в Интернете. Если сайт пытается посмотреть не работает, у вас есть проблемы.

Итак, проверьте ваши xml-файлы, чтобы убедиться, что они ссылаются на версию xsd / dtd, соответствующую версии jar, которая их проверяет.

...