0

次のコードを使用して、多くのxmlファイルを持つS3バケットに書き込みます。デバイスにエラーが発生しました。その後のアップロードに失敗しています。 var/cache/tomcat8/tempフォルダにたくさんのファイルが作成されています。私は自分のコードでファイルを削除しています。誰かがここで間違っていることを理解するのを助けてくれますか?実際には、S3にアップロードするとすぐに一時ファイルを削除したいと考えています。 File.deleteOnExitdocs(強調鉱山)からAWS S3のデバイスに空き領域がありません。tomcat 8

Path path = Files.createTempFile(filename, suffix); 
file = path.toFile(); 

Files.write(path, incomingXml.getBytes(StandardCharsets.UTF_8)); 

if(file!=null){ 
    file.deleteOnExit(); 
} 
s3client.putObject(new PutObjectRequest(fullBucketPathByDate, filename, file)); 
LOGGER.info("Upload completed"); 

答えて

0

:仮想マシンがを終了したときに、この抽象パス名 が示すファイルまたはディレクトリがを削除することが

要求します。

これは、一時ファイルがTomcatプロセスをシャットダウンした後でのみ削除されることを意味します。あなたがする必要があるのは、ファイルをS3にアップロードするとすぐにファイルを削除することです。または、一時ファイルをまったく使用せずにファイル内容を直接S3にストリーミングする方法を調べてください。

+0

ありがとうございました! – Twisha

関連する問題