[ 
https://issues.apache.org/struts/browse/WW-2167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Holmes updated WW-2167:
-----------------------------

    Fix Version/s: 2.0.11

Can you give us more information about your environment? Which app server? 
Whick JDK? Which OS?

> Memory leak when app stopped
> ----------------------------
>
>                 Key: WW-2167
>                 URL: https://issues.apache.org/struts/browse/WW-2167
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.9
>            Reporter: Adam Crume
>             Fix For: 2.0.11
>
>
> Struts 2 somehow prevents the app's classes from being garbage collected when 
> the application is stopped or undeployed.
> I created a barebones Struts 2 app with an action with the following code:
>       private static final Object x = new Object() {
>               {
>                       System.out.println("================== Object created: 
> " + hashCode() + " ===================");
>               }
>               protected void finalize() throws Throwable {
>                       System.out.println("**************** Object finalized: 
> " + hashCode() + " *********************");
>               };
>       };
> Because of this static field, a message should be printed when the class is 
> initialized and when it is garbage collected.  "Object created" would be 
> printed out whenever I went to the action for the first time, but restarting 
> the app never printed "Object finalized."  This is not an issue with garbage 
> collection in my web container because doing the same thing with a servlet 
> resulted in both messages being printed.
> One problem is that the FilterDispatcher.init() method sets a ThreadLocal but 
> never clears it.  I fixed that by adding ActionContext.setContext(null); to 
> the end of the init() method, but that didn't solve the larger problem.

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

Reply via email to