Domanda

Stiamo usando quadro Josso per il single sign on. E sta funzionando correttamente in primavera 2.5.6. Sembra rigorosa convalida dello schema XML è stato introdotto in Spring 3, Josso XSD di non vengono aggiornati da tempo, da cui otteniamo errori durante l'avvio del server. C'è un modo per disattivare la convalida dello schema a Spring 3 (Probabilmente farlo funzionare simile a 2.5.6) ..

È stato utile?

Soluzione

Non ho ancora provato, ma il GenericXmlApplicationContext ha un metodo setValidating (convalida booleano).

Credo che si può utilizzare questo metodo per disattivare la convalida:

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

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

Se si utilizza la primavera in un'applicazione web, allora è più difficile impostare il parametro di convalida. Un modo mi viene in mente, sulla base del fatto che il ContextLoader utilizza un parametro di contesto web.xml "contextClass" per specificare la classe del contesto (di default è: org.springframework.web.context.support.XmlWebApplicationContext).

  • @see: org.springframework.web.context.ContextLoader
  • @see: org.springframework.web.context.ContextLoader # determineContextClass (ServletContext)

Forse è possibile creare una sottoclasse di XmlWebApplicationContext con disabile convalida e utilizzare il parametro "contextClass" per caricare questa classe invece di XmlWebApplicationContext.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top