commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@codehaus.org
Subject [jira] Updated: (JELLY-85) TagScript doesn't clear its cached tags after run()
Date Wed, 17 Sep 2003 01:17:41 GMT
The following issue has been updated:

    Updater: Scott Howlett (mailto:scott_howlett@yahoo.com)
       Date: Tue, 16 Sep 2003 8:17 PM
    Changes:
             Attachment changed to TagScript_patch.txt
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=JELLY-85&page=history

---------------------------------------------------------------------
View the issue:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=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

 Time Spent: Unknown
  Remaining: Unknown

    Project: jelly
 Components: 
             core / taglib.core
   Versions:
             1.0-beta-4

   Assignee: 
   Reporter: Scott Howlett

    Created: Tue, 16 Sep 2003 8:16 PM
    Updated: Tue, 16 Sep 2003 8:17 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://jira.codehaus.org/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message