В Tomcat 5 я собирал файл WAR и помещал его на свой тестовый сервер. На этом сервере в каталоге CATALINA_HOME / conf / [EngineName] / [HostName] был файл my-app.xml, который указывал на мою тестовую базу данных. После завершения тестирования я отправлял файл WAR в ИТ-отдел своих клиентов, и они помещали этот файл в каталог CATALINA_HOME / webapps. В их экземпляре Tomcat у них был другой файл my-app.xml, который указывал на производственную базу данных.
Недавно мы обновились до Tomcat 6, когда любой из нас копирует файл WAR в каталог webapps, он удаляет файл my-app.xml. После удаления, если я скопирую резервную копию файла my-app.xml в каталог CATALINA_HOME / conf / [EngineName] / [HostName], Tomcat игнорирует его, даже если я перезагружаю веб-приложение из Tomcat Manager.
Я попытался добавить файл context.xml в каталог META-INF в файле WAR. Когда Tomcat расширяет файл WAR, он перезаписывает файл my-app.xml файлом context.xml. Если затем я скопировал резервную копию файла my-app.xml обратно в каталог CATALINA_HOME / conf / [EngineName] / [HostName], Tomcat удалит файл WAR и расширенный каталог.
Я могу включить соответствующий файл my-app.xml в файл WAR, но это означает создание двух файлов WAR, одного с тестовым my-app.xml и одного с рабочим my-app.xml. Я также могу заставить его работать, если я копирую WAR-файлы или файлы резервных копий my-app.xml в определенном порядке в правильные каталоги. Мне не нравится ни одно из этих решений по нескольким причинам.
Что я делаю не так? Почему это не работает в новой версии? Нужно ли менять опцию? Нужно ли мне изменить мой процесс? (ПРИМЕЧАНИЕ. ИТ-отдел клиента не хочет останавливаться и запускать Tomcat для повторного развертывания нового файла WAR.)
Спасибо!