The following comment has been added to this issue: Author: Hans Gilde Created: Sat, 28 Aug 2004 6:58 PM Body: I suggest that the problem is not the fact that the TagScript caches the Tag implementation, but the fact that the Tag implementation caches the heavy object after execution.
This is fortunate, because it's a whole lot easier for a Tag to stop caching it's state than it is for a TagScript to stop caching it's Tag implementation. It has to do with the way that caching works, which could be changed but not without big impact. --------------------------------------------------------------------- View this comment: http://issues.apache.org/jira/browse/JELLY-85?page=comments#action_37889 --------------------------------------------------------------------- View the issue: http://issues.apache.org/jira/browse/JELLY-85 Here is an overview of the issue: --------------------------------------------------------------------- Key: JELLY-85 Summary: TagScript doesn't clear its cached tags after run() Type: Bug Status: Unassigned Priority: Major Project: jelly Components: core / taglib.core Versions: 1.0-beta-4 Assignee: Reporter: Scott Howlett Created: Tue, 16 Sep 2003 8:16 PM Updated: Sat, 28 Aug 2004 6:58 PM Description: TagScript caches the tags it generates in a ThreadLocal. At the beginning of run() it checks to see if the context wants to cache tags - if not, it clears the cache and regenerates it. But there is no corresponding check and cache clearing at the end of run(). So if a tag holds onto some significant resource, that resource will hang around until the thread goes away or until the tag is run again. I am using Jelly Swing extensively, and various tags end up attached to the AWT Event thread for the lifetime of my application. As a quick fix, I have a patch that simply repeats the check-and-clear-cache behavior at the end of TagScript.run(). I also have a patch that adds this behavior to StaticTagScript, whose run() never seems to clear cached tags. I am probably just unclear, but it seems to me that there is a deeper issue as well - the context is being asked whether it wants to cache tags, but the result of this question affects the TagScript, which is really independent of the context. It seems like if context wants to cache tags, perhaps the ThreadLocal used for their storage ought to belong to the context somehow. --------------------------------------------------------------------- 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]