[ http://issues.apache.org/jira/browse/IO-99?page=comments#action_12455206 
] 
            
Stephen Colebourne commented on IO-99:
--------------------------------------

The simple solution is to add a method exitWhenFinished() that sets a boolean 
flag.

The reaper thread then checks the boolean flag to see if it should stop the 
thread (once all tracked objects have been dealt with)

{code}
if (exitWhenFinished && trackers.isEmpty()) {
  return;  // terminate thread
}
{/code}

Code can then call FileCleaner.exitWhenFinished() from their servlet destroy 
method.


> FileCleaner thread never ends and cause memory leak in AS
> ---------------------------------------------------------
>
>                 Key: IO-99
>                 URL: http://issues.apache.org/jira/browse/IO-99
>             Project: Commons IO
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: JBOssPortal with commons.fileupload
>            Reporter: Vera Mickaƫl
>            Priority: Critical
>
> FileCleaner opens a thread and no solution is given to the user to end it. So 
> when an application is undeployed
> in an Application Server, a thread is still alive. The WebApp can't be 
> undeployed and this results in a classloader
> leak that will cause an OutOfMemoryError.
> I think the API should be extended so that a user can end the thread. A 
> better way would be to provide a class that
> cleans everything for commons IO.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to