commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jochen Wiedmann (JIRA)" <>
Subject [jira] Resolved: (FILEUPLOAD-125) new FileCleanerCleanup may lead to problems [PATCH]
Date Wed, 28 Feb 2007 13:29:57 GMT


Jochen Wiedmann resolved FILEUPLOAD-125.

    Resolution: Won't Fix

Understanding your suggestion, I nevertheless decided against picking it up as a recommendation:

While the idea to compare classloaders works in your case, I wouldn't assume that it will
work always. For example, I see no reason, why Thread.currentThread().getContextClassLoader()
must differ among threads: For example, I could imagine that a J2EE server uses the very same
ClassLoader for all threads, which holds a ThreadLocal instance internally. A recommendation
should work in all cases.

IMO, the ball is still in the field of commons-io, which should allow to create and destroy
the thread as a local object, which can be bound, for example, to the ServletContextListener.

> new FileCleanerCleanup may lead to problems [PATCH]
> ---------------------------------------------------
>                 Key: FILEUPLOAD-125
>                 URL:
>             Project: Commons FileUpload
>          Issue Type: Bug
>    Affects Versions: 1.2
>            Reporter: C├ędrik LIME
> This is a follow-up on FILEUPLOAD-120.
> As described in using.html#resourceCleanup, stopping the IO's reaper thread when commons-io
is in the container's classpath will impact other running applications. The solution to this
is to test if the FileCleaner class was loaded by the application's ClassLoader (i.e. commons-io.jar
is in WEB-INF/lib/):
>     public void contextDestroyed(ServletContextEvent sce) {
>         if (FileCleaner.class.getClassLoader() == Thread.currentThread().getContextClassLoader())
>             FileCleaner.exitWhenFinished();
>         }
>     }
> This is, if users don't forget to put FileCleanerCleanup as a servlet listener, of course...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message