Wo können temporäre Dateien in einer Java-Webanwendung gespeichert werden?

8

Ich entwickle eine java / spring-mvc-Webanwendung, die mithilfe eines Zeitplanungssystems csv-Dateien zum Senden per E-Mail generiert.

Meine erste Idee war, diese Dateien lokal auf dem Server zu generieren und sie dann an die Empfänger zu senden, aber jetzt habe ich Zweifel. Wo speichern Sie temporäre Dateien?

Ich werde meine Anwendung als Krieg einsetzen, also weiß ich, dass es Probleme geben könnte.

Ist es eine schlechte Idee, ein temporäres Verzeichnis in meinem Verzeichnis WEB-INF zu erstellen? Eine Alternative könnte sein, diese Dateien zu serialisieren und sie in einer Datenbanktabelle zu speichern.

Was ist dein Vorschlag? Best Practice?

    
davioooh 31.07.2013, 14:32
quelle

2 Antworten

7

Ich würde es auf jvm belassen, d. h. java.io.tmpdir system property verwenden. Erstellen Sie ein Verzeichnis in tmp dir ( new File(system.getProperty("java.io.tmpdir")).mkdir() ) oder nur eine Datei im Verzeichnis tmp ( File.createTempFile("name", ".csv") ).
Für Anwendungen, die auf Tomcat ausgeführt werden, ist das Tmp-Verzeichnis <catalina_home_directory>/temp .

    
agad 31.07.2013 14:40
quelle
1

Wie erstelle ich ein temporäres Verzeichnis / einen Ordner in Java? - auch wie man das am besten in Java 7 macht.

Es klingt wirklich so, als ob einfache temporäre Dateien genau das sind, was Sie brauchen - und Sie brauchen sich nicht wirklich Gedanken darüber zu machen, wo Sie diese speichern sollen, Java erledigt das für Sie. Warum würden Sie sie in einer Datenbank speichern, wenn Sie sie nur vorübergehend benötigen würden? Datenbanken sind für dauerhaften Speicher, den Sie interessieren. Und die Mühe des Serialisierens, neh ...

    
qkrijger 31.07.2013 20:32
quelle