Tomcat Eliminazione di file quando la richiesta finisce?
-
09-12-2019 - |
Domanda
Sto correndo in un problema estremamente strano. Sto usando commons-fileupload
(1.2.1) per elaborare i caricamenti dei file nel mio WebApp (ospitato in Tomcat 7.0.23 e il flag distributable
è impostato). Una volta ottenuto un'istanza DiskFileItem
dal mio DiskFileItemFactory
(nessun FileCleaningTracker
), utilizzo il suo metodo write
per memorizzare il file (nella stessa directory in cui è stato configurato il file DiskFileItemFactory
da utilizzare nel caso in cui sia necessario scrivere il file su disco come in streaming) . Il problema è che questo nuovo file (esplicitamente creato e denominato da me) viene quindi cancellato dopo che la richiesta termina l'elaborazione. Come puoi immaginare, questo è problematico quando ho bisogno di accedere nuovamente al file.
Tidbits sembrano che potrebbero essere pertinenti:
- .
- La directory in questione non è la Directory TEMP DIR dal contesto Servlet, né è sotto la directory Tomcat.
- In un percorso del codice alternativo, copo immediatamente quel file (non in una richiesta diversa), e copia non viene cancellata.
- Anche se I
chmod a-w
il file prima che la richiesta finisca, viene ancora cancellato quando la richiesta finisce.Grazie per qualsiasi aiuto.
Soluzione
E il colpevole?Un metodo randagio finalize
da oltre 9 anni fa "Pulizia".