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.