On Wed, May 2, 2012 at 3:13 PM, Vincent Massol <[email protected]> wrote:
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?
I do not really agree, this does not fix the most common issue which is the growing size of the temporary folder for a long running server. We need a way to limit the temporary folder size, and the best would be to find some existing implementation of such behavior.
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
-- Denis Gervalle SOFTEC sa - CEO eGuilde sarl - CTO