[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    [jira] Resolved: (FILEUPLOAD-125) new FileCleanerCleanup may lead
From:       "Jochen Wiedmann (JIRA)" <jira () apache ! org>
Date:       2007-02-28 13:29:57
Message-ID: 19364087.1172669397103.JavaMail.jira () brutus
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/FILEUPLOAD-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

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: https://issues.apache.org/jira/browse/FILEUPLOAD-125
> 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic