The GenericDispatcher should null the oldContextTable reference in the finalizeContext() call, to make sure that it doesn't hangon to anything. Otherwise, this may introduce memory leaks, when the GenericDispatcher doesn't get release (if for example, the JspRuntimeContext in Tomcat hangs on to the ActionTag with a GenericDispatcher).
For more details see [JRA-12549|
http://jira.atlassian.com/browse/JRA-12549].
Here's a patch:
{noformat}
Index: GenericDispatcher.java
===================================================================
RCS file: /cvsroot/opensymphony/webwork/src/main/webwork/dispatcher/GenericDispatcher.java,v
retrieving revision 1.21
diff -r1.21 GenericDispatcher.java
223a224,226
> //JRA-12549: Null the oldContext here to avoid leaking references to various managers when the
> //GenericDispatcher is held onto by an ActionTag.
> oldContextTable = null;
{noformat}
http://blogs.atlassian.com/developer/2007/04/4_more_days_in_a_leaky_boat.html