2010-04-12 9 views
1

Je développe une webapp en utilisant les carreaux et le ressort mvc. Avec l'utilisation de la validation xsd et dtd sur la définition de tiles et bean declaration de spring mvc, chaque fois que l'application Web est démarrée/redémarrée, les demandes sont envoyées au serveur externe pour les fichiers xsd et dtd. Je remarque que parce que ma webapp n'a pas démarré en raison d'une demande échouée au serveur externe (!!!). Je me demande s'il existe un moyen de dire à mon application d'arrêter de faire ça? Comme placer une version mise en cache de ces fichiers quelque part, ou dire au processeur Xml de ne pas valider ces fichiers xml lors de l'exécution?Chargement des fichiers externes xsd et dtd pour une longue durée de démarrage de l'application

Répondre

1

Je suis confronté à un problème similaire (mais avec des fichiers xsd.) Après a little research, il semble que généralement, foo-1.0.jar contiendra foo-schema-1.0.xsd et donc quand foo va valider ses foo- config.xml, il n'a pas besoin de demander l'Internet pour le xsd. Le problème survient lorsque vous effectuez une mise à niveau vers foo-1.1.jar (qui inclut le nouveau foo-schema-1.1.xsd) sans modifier votre fichier foo-config.xml pour référencer la nouvelle version du schéma. foo-1.1.jar ne contient pas foo-schema-1.0.xsd, donc l'analyseur le recherche sur Internet. Si le site essaie de regarder est en panne, vous avez des problèmes.

Vérifiez donc vos fichiers xml pour vous assurer qu'ils référencent la version de xsd/dtd appropriée à la version jar qui les valide.