私は非常に奇妙な問題に遭遇しています。私はcommons-fileupload
(1.2.1)を使用して私のwebapp(tomcat 7.0.23でホストされ、distributable
フラグが設定されています)のファイルアップロードを処理しています。 DiskFileItemFactory
(FileCleaningTracker
)のDiskFileItem
インスタンスを取得したら(FileCleaningTracker
)、そのファイルを格納するのにメソッドを使用します(DiskFileItemFactory
がストリーム配信時にファイルを書き込む必要がある場合に使用するように設定されたディレクトリ) 。問題は、この新しいファイル(明示的に作成され、私が指名した)が、要求が処理を終了した後に削除されることです。ご想像のとおり、ファイルに再度アクセスする必要がある場合、これは問題になります。要求が完了したらTomcatはファイルを削除しますか?
彼らは、関連するかもしれないように見えるティドビッツ:
- ディレクトリ問題のサーブレットコンテキストからデフォルトの一時ディレクトリではありません、またそれは、Tomcatのディレクトリの下にあります。
- 代替コードパスでは、すぐにそのファイルをコピーします(別の要求ではありません)。THATコピーは削除されません。
- 要求が完了する前にファイルが
chmod a-w
になっても、要求が完了すると削除されます。
ありがとうございました。
モラル:finalize()メソッドを記述しないでください! ...そして、必要なときに、最終的な{}ブロックでリソースをクリーンアップしてください。どこでそれが起こっているのかが分かります。 – EJP
@EJPあなたは合唱団に説教しています。私はそのコードを書いていませんでしたが、削除してうれしかったです。 –