2

私のJavaJSPアプリケーションでは、TomcatWebサーバーに永続ファイルを保存する必要があります。現時点では、システムの「/temp」フォルダにファイルを保存しています。ただし、このフォルダはときどきクリアされます。さらに、現在のソリューションはハードコーディングされているため、柔軟性が低くなります(たとえば、別のサーバーに移動する場合)。

この構成で永続ディレクトリを定義してアクセスするためのベストプラクティスがあるかどうかを確認したいと思います。詳細には、アプリファイルディレクトリを定義するのに最適な場所はどこですか?Javaアプリケーション内からこれにアクセスするにはどうすればよいですか?このセットアップの目標は、(a)アプリケーションを更新する(つまり、新しいwarファイルを配置する)とき、および(b)あるサーバーから別のサーバーおよびOS(Unix、Windows、MacOSなど)に移動するときに最小限の労力をもたらすことです。

私がこれまでにこのトピックについて行った調査では、次のことが解決策になることが明らかになりました(おそらくとりわけ):

1.)Tomcatインストールディレクトリのカスタムサブディレクトリの使用。

  • warファイルを介してTomcatに新しいバージョンをデプロイすると、ファイルはどうなりますか?
  • Javaアプリケーション内からアクセスするこのディレクトリをどこで定義しますか?

2.)ファイルシステムの別のディレクトリ。

  • システムを知らなくても場所を取得するのに適した場所または方法はどれですか?
  • Javaアプリケーション内からアクセスするこのディレクトリをどこで定義しますか?

アドバイスありがとうございます!

4

1 に答える 1

1

基本的に、いくつかのファイルの形で「データベース」を作成しています。Java EE およびサーブレット コンテナーの世界では、これに対する唯一の一般的なアプローチは、JNDI を介してそのようなリソースを構成することです。Tomcat やその他のコンテナーには、「Web アプリケーションの永続ストレージの場所」という概念がありません。Web アプリケーションに永続的なストレージが必要な場合は、JNDI、-D、または何かをポストすることで伝える何かを介して設定する必要があります。借用できる慣習や標準的な慣行はありません。

ファイル システムのパス名を規則に従って選択し、その規則を文書化することができます (たとえば、Linux では /var/something、Windows では同様のもの)。しかし、他の誰かがしていることと必ずしも一致するとは限りません。

于 2012-06-11T15:39:17.107 に答える