On Apr 23, 2012, at 3:43 PM, Caleb James DeLisle wrote:

> Hi,
> 
> In order to fix XWIKI-7748 and XWIKI-7749, we need a plan for deleting 
> temporary file.
> XWikiAttachmentContent uses File.deleteOnExit(), but in Sun's implementation, 
> deleteOnExit()
> only deletes on a *clean* exit, in a crash it can't delete the files but it 
> doesn't tag them
> so they can be deleted in the next run either. Since temp files are usually 
> pseudo-randomly
> named, they are impossible to find and delete later.
> 
> I propose that we create a subdirectory, `java.io.tmpdir`/xwiki/ which will 
> be removed on
> application exit. If the jvm crashes, the files will be removed next time 
> around. Then alter
> ApplicationContext.getTemporaryDirectory() to yield this directory.

Sounds ok even though I don't like that we do extra work. Isn't there some lib 
out there that do this? Doesn't commons-io do this?

java.io.tmpdir is for standard environment and not for servlet environment so 
we need to use the proper tmpdir depending on the environment module. Ffor 
Servlet env it's:
(File) getServletContext().getAttribute("javax.servlet.context.tempdir");

Thanks
-Vincent
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to