Tomcat 5では、WARファイルを作成してテストサーバーに配置します。このサーバーでは、CATALINA_HOME / conf / [EngineName] / [HostName]ディレクトリに、テストデータベースを指すmy-app.xmlファイルがありました。テストが終了したら、WARファイルをクライアントのIT部門に送信し、クライアントはファイルをCATALINA_HOME/webappsディレクトリに配置します。Tomcatのインスタンスには、本番データベースを指す別のmy-app.xmlファイルがありました。
最近、Tomcat 6にアップグレードしました。どちらかが、WARファイルをwebappsディレクトリにコピーすると、my-app.xmlファイルが削除されます。削除後、my-app.xmlファイルのバックアップをCATALINA_HOME / conf / [EngineName] / [HostName]ディレクトリにコピーすると、Tomcat ManagerからWebアプリケーションをリロードしても、Tomcatはそれを無視します。
WARファイルのMETA-INFディレクトリにcontext.xmlファイルを追加してみました。TomcatがWARファイルを展開しているとき、my-app.xmlファイルをcontext.xmlファイルで上書きしていました。次に、my-app.xmlファイルのバックアップをCATALINA_HOME / conf / [EngineName] / [HostName]ディレクトリにコピーして戻すと、TomcatはWARファイルと拡張ディレクトリを削除します。
適切なmy-app.xmlファイルをWARファイル内に含めることができますが、これは2つのWARファイルを作成することを意味します。1つはテストmy-app.xmlを使用し、もう1つは本番my-app.xmlを使用します。また、WARファイルまたはmy-app.xmlバックアップファイルを特定の順序で正しいディレクトリにコピーすれば、それを機能させることができます。私は複数の理由でこれらの解決策のどちらも好きではありません。
私は何が間違っているのですか?新しいバージョンでこれが機能しないのはなぜですか?オプションを変更する必要がありますか?プロセスを変更する必要がありますか?(注:クライアントのIT部門は、新しいWARファイルを再デプロイするためにTomcatを停止および開始する必要はありません。)
ありがとう!