Maybe caching could be disabled via a context variable?

On Thu, 23 Sep 2004 22:15:32 -0700 (PDT),
[EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> The following comment has been added to this issue:
> 
>      Author: Hans Gilde
>     Created: Thu, 23 Sep 2004 10:15 PM
>        Body:
> Putting the thread local stuff in the JellyContext makes the memory leak go away as 
> soon as the context is disposed of. Depending on how you use the context, the 
> XMLParser might keep a reference to it. And it will have varying amounts of data in 
> it depending on your "export" setting... this is all *if* we implement the tag cache 
> in the context.
> 
> The Servlet stuff doesn't reuse the context or the parser so there's no leak for 
> Servlets. But others might reuse the context, I know that I do.
> 
> So, we have a few choices:
> 
> 1) Let it leak memory into the context, tell people to trash the context and the 
> parser as often as possible. If you don't, tough luck, you get a memory leak.
> 
> 2) Implement a context method to clear the cache, tell people to clear the cache as 
> often as possible. Clearing the cache will harm only those scripts that keep 
> references to their body Script, like Swing Action or WindowListener.
> 
> 3) Use the WeakReference thing, and tell everyone "if you want to use Action tags, 
> where the action is a Jelly tag (as opposed to a class that implements 
> ActionListener), you have to keep the Jelly Script around as long as the Swing 
> screen stays up".
> 
> 4) Some other solution that I can't think of due to my recent lack of sleep.
> 
> Any suggestions/votes? I think I like #3.
> 
> ---------------------------------------------------------------------
> View this comment:
>   http://issues.apache.org/jira/browse/JELLY-148?page=comments#action_53372
> 
> ---------------------------------------------------------------------
> View the issue:
>   http://issues.apache.org/jira/browse/JELLY-148
> 
> Here is an overview of the issue:
> ---------------------------------------------------------------------
>         Key: JELLY-148
>     Summary: Huge memory leak resulting from the use of ThreadLocal
>        Type: Bug
> 
>      Status: Unassigned
>    Priority: Critical
> 
>     Project: jelly
>  Components:
>              core / taglib.core
>    Versions:
>              1.0-beta-5
> 
>    Assignee:
>    Reporter: Hans Gilde
> 
>     Created: Sat, 18 Sep 2004 9:34 PM
>     Updated: Thu, 23 Sep 2004 10:15 PM
> 
> 
> 
> Description:
> There is a huge memory leak that results from the TagScript's use of ThreadLocal.
> 
> ThreadLocal is usually used from a staic variable, while TagScript uses it from an 
> instance variable. Although this looks legal to me, it causes a huge memory leak.
> 
> ---------------------------------------------------------------------
> JIRA INFORMATION:
> 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
> 
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



-- 
http://www.multitask.com.au/people/dion/

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

Reply via email to