commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Libbrecht <p...@activemath.org>
Subject [jelly] Trying to understand ThreadLocal story
Date Thu, 16 Dec 2004 15:43:38 GMT

Dear Jellyers,

Since it really seems this tag-caching story is biting the most normal 
activity I ever had with Jelly, I'm starting to try to think of it.
Careful... this mail is freshly thought whereas many have put many 
thoughts in there.

Do I understand the problem correctly as follows?
• Scripts are built at compile time (maybe this doesn't really matter)
• Tag objects, however, can store states (e.g. UseBeanTag stores a 
bean, many others do something else) and, as a result, should only be 
created at run time. This way two threads can traverse the script 
simultaneously and not share states (as one expects).

The way this was implemented was to make a ThreadLocal which has bad 
habit of not being possible to clear correctly. The patch applied 
suggested a weak-reference at the parent-child-body separation of 
script so that it still gets cleared in some way, this seemed to have 
gone too far.

Now... aren't we >just< missing a simple notion "run-session", passed 
between script-objects, where each TagScript could put it's tag ?
A simple hash-table where the key is the tag-script seems to satisfy 
requirements.
That run-session, in normal conditions, would be garbage collected at 
the end of the run(), at least.

After my unhappy (yet) attempts at reloadable tags, I would start to 
understand things if such a session existed.
But maybe I have thought aloud too quickly...

paul


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message