Отключить проверку схемы весной 3 - PullRequest
2 голосов
/ 12 ноября 2010

Мы используем платформу JOSSO для единого входа. Весной 2.5.6 он работает правильно. Кажется, в Spring 3 введена строгая проверка XML-схемы, XSD JOSSO не обновляются долгое время, поэтому мы получаем ошибки при запуске сервера. Есть ли способ отключить проверку схемы в Spring 3 (возможно, заставить его работать аналогично 2.5.6) ..

1 Ответ

4 голосов
/ 15 ноября 2010

Я еще не пробовал, но GenericXmlApplicationContext имеет метод setValidating (логическая проверка).

Я полагаю, вы можете использовать этот метод для деактивации проверки:

GenericXmlApplicationContext context = new GenericXmlApplicationContext();
context.setValidating(false);
context.load("myResource.xml", "otherResource.xml");
context.refresh();

https://jira.springframework.org/browse/SPR-5014

Если вы используете Spring в веб-приложении, то установить параметр проверки будет сложнее.Один из способов, который я могу придумать, основан на том факте, что ContextLoader использует параметр контекста web.xml "contextClass" для указания класса контекста (по умолчанию: org.springframework.web.context.support.XmlWebApplicationContext).

  • @см .: org.springframework.web.context.ContextLoader
  • @ см: org.springframework.web.context.ContextLoader # defineContextClass (ServletContext)

Возможно, вы можете создать подклассXmlWebApplicationContext с отключенной проверкой и используйте параметр "contextClass" для загрузки этого класса вместо XmlWebApplicationContext.

...