2010-01-26 12 views
1

Dans Tomcat 5, je construisais un fichier WAR et le plaçais sur mon serveur de test. Sur ce serveur, il y avait un fichier my-app.xml dans le répertoire CATALINA_HOME/conf/[EngineName]/[HostName] qui pointait vers ma base de données de test. Une fois les tests terminés, j'envoyais le fichier WAR au service informatique de mes clients et ils le placaient dans le répertoire CATALINA_HOME/webapps. Sur leur instance de Tomcat, ils avaient un fichier my-app.xml différent qui pointait vers la base de données de production.Problème de mise à jour de la webapp existante dans Tomcat 6.0.20

Récemment, nous avons effectué une mise à niveau vers Tomcat 6, lorsque l'un de nous a copié le fichier WAR dans le répertoire webapps, il a supprimé le fichier my-app.xml. Après sa suppression, si je copie une sauvegarde du fichier my-app.xml dans le répertoire CATALINA_HOME/conf/[nom_du_module]/[nom_hôte], Tomcat l'ignore, même si je recharge la webapp à partir de Tomcat Manager.

J'ai essayé d'ajouter un fichier context.xml au répertoire META-INF dans le fichier WAR. Lorsque Tomcat développait le fichier WAR, il écrasait le fichier my-app.xml avec le fichier context.xml. Si j'ai ensuite copié la sauvegarde du fichier my-app.xml dans le répertoire CATALINA_HOME/conf/[EngineName]/[HostName], Tomcat supprime le fichier WAR et le répertoire développé.

Je peux inclure le fichier my-app.xml approprié dans le fichier WAR, mais cela signifie construire deux fichiers WAR, l'un avec le test my-app.xml et l'autre avec le fichier my-app.xml de production. Je peux aussi le faire fonctionner si je copie les fichiers WAR ou les fichiers de sauvegarde my-app.xml dans un ordre spécifique dans les bons répertoires. Je ne suis pas friand de l'une ou l'autre de ces solutions pour plusieurs raisons.

Qu'est-ce que je fais mal? Pourquoi cela ne fonctionne-t-il pas dans la nouvelle version? Ai-je besoin de changer une option? Ai-je besoin de changer mon processus? (REMARQUE: le service informatique du client ne souhaite pas devoir arrêter et démarrer Tomcat pour redéployer un nouveau fichier WAR.)

Merci!

Répondre