2012-04-17 21 views
1

Tomcatで動作する古いJava Webアプリケーションを使用しています。私は通常、Tomcatのデフォルトのサーバー構成(server.xml)を使用するwebappsディレクトリからWebアプリケーションを実行することを知っています。この特定のアプリケーションは、カスタムserver.xmlを使用して別のディレクトリにデプロイされるため、アプリケーションごとに1つのTomcatインスタンスが必要です。私はそれが最初に設定された理由は、各Webアプリケーションがアプリケーションの再デプロイ間に保存されなければならないファイルを生成するためだと考えています。tomcat webapp - 永続的なファイルを保存する場所

私の質問です - webappsディレクトリを使用する方法がありますが、アプリケーションの再デプロイ時に特定のファイルが消去されないように保存する方法はありますか?ここで

は、私たちの現在のTomcatのレイアウトが

tomcat/ 
    servers/ 
    ourapp/ 
     output/ # heres where the files go that we save 
     ourapp/ # this is the actual webapp (exploded WAR file) 
     WEB-INF/ 
     ... 

だ私は

tomcat/ 
    webapps/ 
    ourapp/ 
     output/ # but this is saved between redeploys 
     WEB-INF/ 
    ... 
のようなもの

私の最終目標は、我々は1つのTomcatインスタンス上で複数のアプリケーションを配備するように、離れてカスタムのserver.xml年代から取得することですしたいです。ちょうど問題の場合 - 私たちはTomcat 6を利用しています。

+0

[関連](http://stackoverflow.com/q/1510104/29995) –

答えて

4

これらのファイルを永続化したい場合は、webapps/に保存しないことをお勧めします。そのディレクトリはかなり揮発性です。さらに、システムを管理している他の開発者は、そこに永続的なデータを格納していることに気付かず、誤ってデータを消去する可能性があります。

私は/var/lib、おそらく/var/lib/ourapp/...の場所に行きます。または、サーバー環境とその管理方法に合っている場合は、$HOME/.ourappに保存することもできます。

+0

+1; 「永久」ファイルは設定可能な場所に保存する必要があります。これらのファイルはストリーム配信、シンボリックリンクなどが可能です。 –

+0

@DaveNewton - 設定に同意します。私は通常、格納場所を定義するためにプロパティファイルまたはシステムプロパティを使用します。 –

+0

クール - ありがとう。それは理にかなっている。私は10分が終わるとすぐに受け入れます。 – jeff

0

私は、ファイルをTomcat(外側にあるかもしれないし、webappsであるかもしれない)の下に保存し、ファイルシステムのランダムなディレクトリに保存しないことをお勧めします。
この方法であなたのwebappと "バンドル"されます

+1

お互いに近いものを持っているのはいいですが、 '$ TOMCAT_HOME'の下のIMOは'/var/ourapp'のような場所よりも恣意的ですまたは '$ HOME/.ourapp'。これらのディレクトリーは、アプリケーション・データの標準Linuxロケーションです。 Tomcatのインストール方法によっても異なります。それがRPM経由で行われた場合、Tomcatはどこかの '/ usr'にインストールされるでしょう。永続的なアプリケーションデータを格納するのは難しいでしょう。 [Linux Filesystem Hierarchy](http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/c23.html)を参照してください。 –

関連する問題