On Wed, May 2, 2012 at 3:13 PM, Vincent Massol <vincent(a)massol.net> 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
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs