DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=33934>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=33934





------- Additional Comments From [EMAIL PROTECTED]  2005-03-22 09:25 -------
Let me summarize the bug once more:

The field "target" of the EL version of the c:set tag contains a reference to
the bean whose property shall be modified, lets call that e.g. "hugeBean". After
doEndTag() was called the application server puts the c:set tag instance into a
tag pool for recycling. The field "target" still holds the reference to
"hugeBean", so it can not be garbage collected. This is not necessary, because
"target" is assigned a new value on every usage of the c:set tag instance in
doStartTag(). doStartTag() evaluates the EL string (e.g. "${hugeBean}") and
assigns the result to the field "target".

Whenever the c:set tag is used - for the first time or recycled from the pool -
the method doStartTag() is called. doStartTag() evaluates the EL expression and
assigns the result to the field "target". So there is no need to retain the
result of that evaluation in the field "target" after doEndTag() was processed,
because on the next usage it will overwritten anyway. Its sufficient to retain
the EL string "${hugeBean}" but retaining the result of its evaluation causes
the memory leak.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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

Reply via email to